home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 098 / rbs5bdoc.arc / RBBS-PC.DOC
Encoding:
Text File  |  1985-09-15  |  241.9 KB  |  4,931 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                   REMOTE BULLETIN BOARD SYSTEM
  14.  
  15.                              for the
  16.  
  17.                       IBM Personal Computer
  18.  
  19.                          Version CPC12.5
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.                    Copyright 1983, 1984, 1985
  28.  
  29.                                by
  30.  
  31.                          D. Thomas Mack
  32.                          10210 Oxfordshire Road
  33.                          Great Falls, Virginia 22066
  34.                          VOICE    -- (703) 759-4357
  35.                          DATA  #1 -- (703) 759-5049
  36.                                #2 -- (703) 759-9659 
  37.  
  38.                                AND
  39.  
  40.                          Jon Martin
  41.                          4396 N. Prairie Willow Ct.
  42.                          Concord, California 94521
  43.                          DATA  -- (415) 689-2090
  44.  
  45.                          Ken Goosens
  46.                          5020 Portsmouth Road
  47.                          Fairfax, Virginia
  48.                          DATA -- (202) 537-7475
  49.  
  50.                               August 25, 1985
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  67.  
  68.                         TABLE OF CONTENTS                            Page
  69.                         -----------------                            ----
  70.  1.0  INTRODUCTION                                                      5
  71.       1.1  The Capital PC Users Group                                   5
  72.       1.2  The "contributions" requested for RBBS-PC                    5
  73.       1.3  The "history" behind RBBS-PC                                 6
  74.       1.4  RBBS-PC Update Conventions                                  10
  75.       1.5  An Example of "Users Helping Users"                         11
  76.       1.6  What's new with CPC12.5B                                    13
  77.  
  78.  2.0  RBBS-PC "BASE-LINE" HARDWARE REQUIREMENTS                        14
  79.  
  80.  3.0  RBBS-PC's SUPPORT POLICIES                                       15
  81.       3.1  RBBS-PC's Vendor Support Policy                             15
  82.       3.2  RBBS-PC's User Support Policy                               18 
  83.  
  84.  4.0  OPERATING SYSTEM REQUIREMENTS                                    19
  85.  
  86.  5.0  HOW TO GET A COPY OF RBBS-PC SENT TO YOU                         19
  87.  
  88.  6.0  FILES RBBS-PC USES                                               20
  89.       6.1  RBBS-PC System Files                                        21
  90.       6.2  RBBS-PC Text Files                                          23
  91.  
  92.  7.0  USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC CPC12            25
  93.       7.1  Global RBBS-PC Parameters (Part 1 of 2)                     26
  94.            7.1.1   SYSOP's Name and Password for Remote Access         26
  95.            7.1.2   Password to Locally Take Over RBBS-PC as SYSOP      26
  96.            7.1.3   SYSOP's Default Sign-on Mode                        26
  97.            7.1.4   SYSOP's "office" Hours                              26
  98.            7.1.5   Use of Printer Bell                                 26
  99.            7.1.6   Number of Rings RBBS-PC Waits Before Answering      26
  100.            7.1.7   Drive Available for Uploading                       27
  101.            7.1.8   Name of Directory to Update for Uploads             27
  102.            7.1.9   Drives Available for Downloading                    27
  103.            7.1.10  Prompt Sounds                                       27
  104.            7.1.11  Maximum Time per Session                            27
  105.            7.1.12  Limit Maximum Time on System Per Day                28
  106.            7.1.13  Months of Inactivity before a User is Deleted       28
  107.            7.1.14  Communication Port to be Used                       28
  108.            7.1.15  Version of DOS RBBS-PC Will Run Under               28
  109.            7.1.16  Name of RBBS-PC                                     28
  110.       7.2  Global RBBS-PC Parameters (Part 2 of 2)                     28
  111.            7.2.1   Color Monitor's Foreground/Background/Border        28
  112.            7.2.2   Selecting the Modem Speaker On or Off               29     
  113.            7.2.3   Reminding Users of Messages They Left               29
  114.            7.2.4   Remind Users of Uploads and Downloads               29
  115.            7.2.5   Remind Users of Their Profile Preferences           29
  116.            7.2.6   Default User Page Length                            29
  117.            7.2.7   Maximum Number of Lines per Message                 29
  118.            7.2.8   Requiring non-ASCII Protocol for Binary Files       29
  119.            7.2.9   MICROCOM's MNP Protocol                             29
  120.            7.2.10  Omitting First Level Directory in "New" Command     30
  121.            7.2.11  Omitting Upload Directory in "New" Command          30
  122.            7.2.12  Making System "Welcome" Interruptable               30
  123.            7.2.13  Making System Bulletins "Optional"                  30
  124.            7.2.14  Is RBBS-PC running on a non-IBM PC?                 30
  125.            7.2.15  Issuing Modem Commands Between Rings                31
  126.            7.2.16  Baud Rate to Initially Open Modem At                31
  127.            7.2.17  Seconds Waited Before Logging Off Idle Users        31
  128.  
  129.                        Page 2 of 77
  130. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  131.  
  132.                         TABLE OF CONTENTS (continued)                Page
  133.                         -----------------------------                ----
  134.       7.3  Parameters for RBBS-PC "text" Files                         31
  135.            7.3.1   Drive Containing RBBS-PC "Bulletins"                31
  136.            7.3.2   Name of File Describing "Bulletins"                 31
  137.            7.3.3   Number of System Bulletins                          31  
  138.            7.3.4   Prefix Used to Name Bulletin files                  31
  139.            7.3.5   Drive Containing On-line Help Files                 32
  140.            7.3.6   Prefix Used to Name Help Files                      32
  141.            7.3.7   Name of "NEWUSER" File                              32
  142.            7.3.8   Name of "WELCOME" File                              32
  143.            7.3.9   Name of File Describing File Directories            32
  144.            7.3.10  Name of SYSOP's Command Menu                        32
  145.            7.3.11  Name of Messages Subsystem Command Menu             32
  146.            7.3.12  Name of File Subsystem Command Menu                 33
  147.            7.3.13  Name of Utilities Subsystem Command Menu            33
  148.            7.3.14  Menu that Lists Available Conferences               33
  149.            7.3.15  File Containing Invalid User Names                  33
  150.            7.3.16  Factor to Extend Session Time for Uploads           34
  151.            7.3.17  Default System Type for New Users                   34
  152.       7.4  Parameters for RBBS-PC "system" Files                       34
  153.            7.4.1   Name of "MESSAGES" File                             34
  154.            7.4.2   Name of "CALLERS" File                              34
  155.            7.4.3   Name of File Containing "Comments" for the SYSOP    34
  156.            7.4.4   Name of "USERS" File                                34
  157.       7.5  Parameters for RBBS-PC "Doors"                              34
  158.            7.5.1   Enabling the "Door" Subsystem                       34
  159.            7.5.2   Name of Menu that Lists the Available "Doors"       34
  160.            7.5.3   File RBBS Builds Dynamically to Open a "Door"       35
  161.            7.5.4   File to Re-invoke RBBS-PC When a "Door" Closes      35
  162.       7.6  Parameters for RBBS-PC's Security                           35
  163.            7.6.1   Minimum Security Level to Get Into RBBS-PC          35
  164.            7.6.2   Default Security Level for New Callers              35
  165.            7.6.3   Default Security Level for SYSOP                    35
  166.            7.6.4   File of File Names With Download Security           35
  167.            7.6.5   Minimum Security Level to See SYSOP's Menu          36
  168.            7.6.6   Minimum Security Level to Use RBBS-PC "Doors"       36
  169.            7.6.7   Maximum # of Security Violations Before Lockout     36
  170.            7.6.8   Security Level(s) for Each Command                  36
  171.            7.6.9   File With Privileged Group Passwords                36
  172.            7.6.10  Maximum Number of Password Changes Per Session      36
  173.            7.6.11  Minimum Security For Temporary Password Changes     36
  174.            7.6.12  Minimum Security to Overwrite Files on Uploads      36
  175.            7.6.13  Security Level of Conference "Viewers"              36
  176.            7.6.14  Security Levels Exempt from Purge of User File      37
  177.       7.7  Parameters for Multiple RBBS-PC's/Conferences               37
  178.            7.7.1   Maximum Number of Concurrent RBBS-PC's              37
  179.            7.7.2   Environment Running Concurrent RBBS-PC's            37
  180.            7.7.3   Method RBBS-PC Uses to "Recycle" When User Logsoff  37
  181.            7.7.4   Maximum Number of Records in the "USERS" File       37
  182.            7.7.5   Maximum Number of Records in the "MESSAGES" File    38
  183.            7.7.6   Maximum Number of Messages Allowed                  38
  184.            7.7.7   Conference File Maintenance                         38
  185.       7.8  RBBS-PC SYSOP Utilities                                     38
  186.            7.8.1   Packing the "MESSAGES" File                         38
  187.            7.8.2   Packing the "USERS" File                            39
  188.            7.8.3   Printing Message Header Records                     39
  189.            7.8.4   Renumbering Messages                                39
  190.            7.8.5   Repairing the MESSAGES File                         39
  191.            7.8.6   Initialize Hayes 2400 Firmware for RBBS-PC          39
  192.  
  193.                        Page 3 of 77
  194. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  195.  
  196.                         TABLE OF CONTENTS (continued)                Page
  197.                         -----------------------------                ----
  198.  8.0  THE HAYES MODEM SWITCH SETTINGS AND CONSIDERATIONS               40
  199.  
  200.  9.0  COMMUNICATION BUFFER                                             41
  201.  
  202. 10.0  USING MULTIPLE FILE DIRCTORIES                                   41
  203.  
  204. 11.0  SETTING UP ".BAT" FILES FOR RBBS-PC                              42
  205.  
  206. 12.0  THE USE OF RBBS-PC "DOORS"                                       44
  207.  
  208. 13.0  THE SECURITY FEATURES OF RBBS-PC                                 45
  209.       13.1  RBBS-PC's Security Features                                45
  210.       13.2  Examples Using RBBS-PC's Security Features                 46
  211.       13.3  How to Implement the Password File                         47
  212.       13.4  How to Implement the Security for Download Files           48
  213.       13.5  How to Implement the Security for RBBS-PC Commands         49
  214.       13.6  Beware of the "Trojan Horse"                               51
  215.  
  216. 14.0  SYSOP FUNCTIONS                                                  51
  217.       14.1  SYSOP Commands Within RBBS-PC                              51
  218.       14.2  SYSOP's Use of Function Keys                               53
  219.  
  220. 15.0  DOS LIMITATIONS ON RUNNING PROGRAMS REMOTELY                     54
  221.       15.1  How to Get DOS to Monitor Carrier Detect                   54
  222.       15.2  How to Redirect Graphic Displays to Remote Users           55
  223.  
  224. 16.0  CONFERENCING WITH RBBS-PC                                        55
  225.  
  226. 17.0  UPLOADED FILE TIPS                                               57
  227.  
  228. 18.0  COMPILING AND LINKING RBBS-PC                                    57
  229.       18.1 Compiling CONFIG.BAS and RBBS-PC.BAS                        57
  230.       18.2 LINKing CONFIG                                              57
  231.       18.3 LINKing RBBS-PC Without MNP File Transfer Protocol          58
  232.       18.4 LINKing RBBS-PC With MNP File Transfer Protocol             58
  233.  
  234. 19.0  LIMITED LICENSE                                                  59
  235.  
  236. 20.0  LIMITED WARRANTY                                                 59
  237.  
  238. 21.0  UPGRADING FROM CPC12-3B TO CPC12-5B                              59
  239.  
  240. 22.0  RBBS-PC FUTURE DIRECTIONS                                        60
  241.  
  242. APPENDICES:
  243.      A -- RBBS-PC Record Formats                                       62
  244.      B -- RBBS-PC Vendor Protocol Interface Specifications             66
  245.      C -- RBBS-PC in a MultiLink Environment                           67
  246.      D -- RBBS-PC in a CORVUS Network                                  69
  247.      E -- RBBS-PC in a ORCHID or AST PCnet Network                     70
  248.      F -- RBBS-PC and the Hearing Impaired                             72
  249.      G -- RBBS-PC and the IBM PCjr                                     73
  250.      H -- RBBS-PC Subscription Service                                 75
  251.      I -- RBBS-PC National Listing Service                             76
  252.      J -- RBBS-PC and the Ark-Paradyne Modem Switch Settings           77
  253.  
  254.  
  255.  
  256.  
  257.                        Page 4 of 77
  258. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  259.  
  260. 1.0 INTRODUCTION
  261. ----------------
  262. RBBS-PC  is  a Remote Bulletin Board System for the IBM personal  computer,  
  263. hence  the name RBBS-PC.   RBBS-PC has two fundamental purposes -- to be  a  
  264. catalyst for  the  free  exchange of  information,   and  to  serve  as  an  
  265. educational  example of what can be done with BASIC.  I distribute  RBBS-PC  
  266. under  the  trademark  "Userware" because RBBS-PC is the sure  and  present  
  267. proof that software which is shared becomes better than it  was.    RBBS-PC  
  268. is  the  result of many thousands of man-hours of effort and is what it  is  
  269. today  because of the many software contributions and suggestions  by  both  
  270. members  of the Capital PC Users Group and others.   Everyone has something  
  271. that they believe strongly in.  For me it is the "Userware" concept and the  
  272. free   exchange  of  information.    As John Naisbitt states in  his  book, 
  273. MEGATRENDS,
  274.  
  275.          "...the new source of power is not money in the hands of 
  276.          a few, but information in the hands of the many."
  277.  
  278. For this reason I have devoted the time  I  have in writing,   maintaining,  
  279. and  enhancing  RBBS-PC  over the  years.   The  reason   that   I  am  the 
  280. registered copyright owner of RBBS-PC and grant  the  limited  license that 
  281. I do is to primarily insure that these  purposes  are  not abrogated.
  282.  
  283. 1.1 The Capital PC Users Group
  284. ------------------------------
  285. Because the fundamental purposes of RBBS-PC and the Capital PC Users  Group  
  286. are  similar,  I  package  and forward each new version of RBBS-PC  to  the  
  287. CPCUG's Software Exchange for distribution.  The Capital PC User Group is a  
  288. Maryland  Corporation whose "legal name" is the Capital PC User Group  Inc.   
  289. The CPCUG is a non-profit organization according to Section  501C4,  Social  
  290. Welfare,  of  federal law.   All revenues are re-invested in and applied to  
  291. the CPCUG's education programs.
  292.  
  293. 1.2  The "contributions" requested for RBBS-PC
  294. ----------------------------------------------
  295. The "logo" of RBBS-PC requests contributions.  This is because the  RBBS-PC  
  296. may be perceived as an advantage to user-groups,  businesses, or government  
  297. agencies.   It  is  hard to put a value on the RBBS-PC  as it  varies  from  
  298. organization to organization and from time-frame to time-frame.
  299.  
  300. The  first  and  most desirable level of "contribution"  is  public  domain  
  301. software sent to the Capital PC Software Exchange (P.O.  Box  6128,  Silver  
  302. Spring,  MD  20906).   This requires that you or your organization take the  
  303. time  and trouble to document whatever you wish to share.   I would  advise  
  304. you  to  be prepared to convince your organization's legal department  that  
  305. IBM  PC  utilities,  "peeks/pokes",  etc.  are sharable with the  world  in  
  306. general.  Often  these are perceived as  "proprietary" and lawyers tend  to  
  307. view  software contributions to the "public domain" as the needless jeopar- 
  308. dizing of your organization's technical dominance.  This legal myopia over- 
  309. looks the fact that "public domain" software can be used to establish  your  
  310. organization's technical dominance.  If you have a new PC hardware product,  
  311. "public  domain" software that demonstrates it's potential may be just  the  
  312. marketing  strategy  to  create a demand for the product.   If  you  are  a  
  313. consulting  organization,  your  technical reputation may be widely  spread  
  314. through "public domain" software.
  315.  
  316. If you wish to contribute software but don't wish it to be "public domain,"  
  317. consider  contributing it under a limited license similar to the one  under  
  318. which RBBS-PC is distributed (see section 19).
  319.  
  320.  
  321.                        Page 5 of 77
  322. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  323.  
  324. The next level of "contribution" is equipment or services.  Be inventive in  
  325. light of the CPCUG's objectives under 1.1.  If you or your organization can  
  326. donate equipment,  software,  supplies, or services to the CPCUG, feel free  
  327. to  do  so.   If you are so inclined,  but before you do  so,  contact  the  
  328. Capital PC User Group, P.O.  Box 3189, Gaithersburg, MD 20878.  For general   
  329. information  about the appropriateness of the bequest,  contact the Capital  
  330. PC User Group directly.
  331.  
  332. The last level of "contribution" is merely money.   This is the one  commo- 
  333. dity  that we are willing to exchange among each other without first having  
  334. obtained the respect,  consideration,  etc. of the other party.  It is per- 
  335. haps  the  easiest  to give as it exonerates us from the  other  levels  of  
  336. "contribution."   CPCUG is an all volunteer organization  and,  of  course,  
  337. money  is  seldom  plentiful.   However the essence of CPCUG is  the  time,  
  338. ideas,  and effort that each of the volunteers contribute to it.   For this  
  339. reason,  while money is always appreciated,  money is not the best or  even  
  340. the  second-best  type of "contribution" you could  make.
  341.  
  342. Independent of  whether you can donate public domain  software,  equipment,  
  343. services,  supplies, or money, consider becoming a member of CPCUG.  If you  
  344. wish to become a member of CPCUG, simply send your name, address, home/work  
  345. phone numbers along with $25 to CPCUG,  P.O.  Box  3189,  Gaithersburg,  MD  
  346. 20878.
  347.  
  348. If in the final analysis you feel that you can do none of the above,
  349.  
  350.      o remember those who have,
  351.      o enjoy what they have nurtured, and
  352.      o keep the faith with those who have gone before you.
  353.  
  354. 1.3 The "history" behind RBBS-PC
  355. --------------------------------
  356. Electronic  bulletin  board  systems have been around ever  since  personal 
  357. computers  existed.   The  first  ones  were  very  primitive  and  usually 
  358. consisted  of some posted notices and maybe allowed for  on-line  messages.  
  359. It  must be remembered that the IBM PC was only announced in August of 1981 
  360. and  first  became  available in October of  1981.   Therefore  it  is  not 
  361. supprising  that  the  early  history of BBS' is  associated  with  non-IBM 
  362. personal computers.
  363.  
  364. The  "early history" of bulletin board systems began around 1978 in Chicago 
  365. with the CBBS/Chicago (Computerized Bulletin Board System/Chicago).  It was 
  366. created by Ward Christensen and Randy Suess -- members of the Chicago  Area 
  367. Computer  Hobbyist Exchange (CACHE).   CBBS for the CP/M is written in 8080 
  368. Assembler  language  (11,000 lines of it) and,  like the early versions  of 
  369. RBBS-PC (i.e.  prior to CPC12-5A),  detects the baud rate and the parity of 
  370. the  user when he first signs on from the three carriage returns  that  the 
  371. user must enter.
  372.  
  373. About  the  same time,  Bill Abney wrote a BBS for the Radio  Shack  TRS-80 
  374. Models I and II called Forum-80.
  375.  
  376. The  earliest  BBS that I know of was written for the Apple (who  else  had 
  377. personal computers in those days?) called the "Apple Bulletin Board System" 
  378. (ABBS).   It was written by Craig Vaughn and Bill Blue.  They later created 
  379. another bulletin board  system for the Apple II called the People's Message 
  380. System (PMS)
  381.  
  382. Another  Apple bulletin board system that came into being was for the Apple 
  383. II,  II+,  and  IIE  as  well as the Franklin Ace and  it  was  called  the 
  384.  
  385.                        Page 6 of 77
  386. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  387.  
  388. CommuniTree.  It was written in the FORTH language and was authored by Dean 
  389. Gengle and several others.
  390.  
  391. When IBM announced it's first personal computer,  the IBM PC,  in August of 
  392. 1981, there was no BBS' for it.  In the summer of 1982, Brad Hanson found a 
  393. prototype  version  written  by  Russ Lane in IBM's  BASIC  on  the  Dallas 
  394. R/CPM\CBBS system.   Brad added many fixes and modifications.  In the first 
  395. half  of 1983,  many members of the Capital PC Users Group's  Communication 
  396. Special  Interest Group (SIG) such as Larry Jordan,  Rich  Schinnell,  Gary 
  397. Horwith, Jim Fry, Scot Loftesness, and Dorn Stickle further enhanced it and 
  398. added  XMODEM file transfer capability until it became known as RBBS-PC CPC 
  399. 09  in  May  of  1983.   At that time  each  feature  or  modification  was 
  400. identified  by  a  new version number;  it still ran only under  the  BASIC 
  401. interperter;  and was both relatively slow (because of the interperter) and 
  402. somewhat unstable (it would normally "crash" at least once each day).
  403.  
  404. Late  in May of 1983,  I asked Rich Schinnell if there were any   "bulletin 
  405. board" software available for the IBM PC written in BASIC.  Rich told me to 
  406. give Larry Jordan a call.   Larry said that he was just getting CPC09 ready 
  407. to  send  to Rich Schinnel who at that time was Director of the Capital  PC 
  408. User  Group's Public Domain Software Library and that I could get  it  from 
  409. Rich.   I  did,  and still have the diskette just as Rich sent it to me  -- 
  410. dated June 22, 1983.  
  411.  
  412. Bulletin board systems,  historically were the result of a single person or 
  413. small  group of person's efforts and tended to serve a very narrow interest 
  414. group  -- typically  those  interested in the  medium  itself  (i.e.  PC's, 
  415. programming,  communications,  etc.).   This  was true up to and  including 
  416. RBBS-PC  CPC09.   In fact,  most of the incentive to get the public  domain 
  417. versions  of  RBBS  (CPC09 and earlier) functioning was  to  introduce  the 
  418. XMODEM  protocol  to  the  IBM  PC-based  community.   In  this  CPC09  was 
  419. successful  and  may  have  been the primary incentive  for  XMODEM  to  be 
  420. included in PC-TALK at all.
  421.  
  422. Since  June  of  1983 I have authored and released TWENTY-ONE  versions  of 
  423. RBBS-PC and distributed them exclusively through the Capital PC User  Group 
  424. under  the  limited license described in section 19 of this  documentation.  
  425. At  this  time RBBS-PC appears to have become the "industry  standard"  for 
  426. IBM-type personal computer bulletin board systems.   However, even from the 
  427. very beginning BBSs have excelled whenever:
  428.  
  429.      a.) there was a geographically dispersed audience,
  430.  
  431.      b.) with a need to exchange highly complex/technical information,
  432.  
  433.      c.) in a timely and accurate manner.
  434.  
  435. RBBS-PC's  impact has been to open an entirely new medium of communications 
  436. between people.   Rather than as an end in and of itself,  RBBS-PC has come 
  437. to  serve  as  a  means to an end -- the free  exchange  of  ideas.   On  a 
  438. technical  level  it is certainly an example that shows  "real  programmers 
  439. can/do program in BASIC."  I would like to think that RBBS-PC had something 
  440. to  do  with  IBM and Micorsoft coming out with new versions of  the  BASIC 
  441. compiler  that  support  communications,  sub-routines,  local  and  global 
  442. variables, file-locking in a networking environment, etc.
  443.  
  444. RBBS-PC represents a fundamental cornerstone, not just a phase, in what can 
  445. be  viewed  as a "social rennasiance."  The three  areas that  I  mentioned 
  446. earlier  in  which  bulletin  boards  excel seem to  ebb  and  flow  within 
  447. communities  and organizations.   RBBS-PC provides an almost  instantaneous 
  448.  
  449.                        Page 7 of 77
  450. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  451.  
  452. mechanism  by which these needs can be met.   Many of the Big 8  accounting 
  453. firms  bring up RBBS-PC's just to fulfill one contract so that the  various 
  454. geographically  disbursed  members on the contract can  communicate  across 
  455. time zones and continents.   Unlike radio,  newspapers,  and television  -- 
  456. RBBS-PC provides a vehicle within which information can be EXCHANGED!  That 
  457. is  what makes RBBS-PC so unique.   Because the exchange is written,  it is 
  458. structured.  Because it is structured, it can be thoughtfull.
  459.  
  460. The  "social  renassiance"  that  RBBS-PC  represents  is  the   electronic 
  461. elimination  of those barriers that had previously inhibited the "exchange" 
  462. of  information  within  our  society.   RBBS-PC  provides  every  personal 
  463. computer owner with his own "soap-box" in a national Hyde Park.  Previously 
  464. the  channels  of communication had built-in barriers to  "exchange,"  with 
  465. RBBS-PC those barriers begin to cease to exist.
  466.  
  467. While  only  the most fanatical RBBS-PC trivia experts may  be  interested, 
  468. I've  gone  back and checked all the documentation and releases of  RBBS-PC 
  469. that I've authored and here is the tedious chronolgy:
  470.  
  471. RBBS-PC Version  Release Date of        Major Enhancements
  472.     Number        First Version
  473.  
  474.    CPC10.0         07/04/83    RBBS-PC first written to be compilable by
  475.                                IBM's BASIC compiler, version 1.0
  476.  
  477.    CPC11.0         08/10/83    RBBS-PC restructured so that all parameters
  478.                                were  external  (i.e.  in  the  RBBS-PC.DEF) 
  479.                                allowing  SYSOP's who didn't want  to  spend 
  480.                                the  $300  for the BASIC compiler to  tailor 
  481.                                RBBS-PC  to  their  taste.   CONFIG.BAS  was 
  482.                                first written to generate RBBS-PC.DEF.
  483.  
  484.    CPC11.1         09/15/83    Jon Martin contributed UTSPACE.OBJ (a sub-
  485.                                routine that allowed the compiled version of 
  486.                                RBBS-PC  to  determine the  amount  of  free 
  487.                                space available for uploading.
  488.  
  489.    CPC11.2         10/01/83    The error trapping within RBBS-PC was 
  490.                                completely    re-written    to    be    more 
  491.                                comprehensive.
  492.  
  493.    CPC12.0         10/28/83    Tree-structured file directories and  
  494.                                the  ability to detect that RBBS-PC was in a 
  495.                                "MultiLink"  environment were  incorporated.  
  496.                                "MultiLink"  is  a product of  the  Software 
  497.                                Link,  Inc.  which allows DOS 1.1, 2.0, 2.1, 
  498.                                and 3.0 to be "multi-tasking."
  499.  
  500.    CPC12.1         12/18/83    The ability for a SYSOP who signed on
  501. (Versions A-F)                 remotely to drop into DOS was added.
  502.                                Also  the  "New"  command  was  added   that 
  503.                                allowed  users  to determine what new  files 
  504.                                had been made available since the last  time 
  505.                                they were on.
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.                        Page 8 of 77
  514. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  515.  
  516. RBBS-PC Version  Release Date of        Major Enhancements
  517.     Number        First Version
  518.  
  519.    CPC12.2         04/08/84    The security system designed by Ken Goosens
  520. (Versions A-D)                 was incorporated.  RBBS-PC's security system
  521.                                has   an  elegance  unmatched  even  by  the 
  522.                                largest  mainframe.   In  essence  it  is  a 
  523.                                "self-locking lock."  Despite the fact  that 
  524.                                the  RBBS-PC source code is distrbuted  with 
  525.                                RBBS-PC,  the security system within RBBS-PC 
  526.                                that Ken designed has remained unbroken.  Of 
  527.                                course,  SYSOP's  who didn't adhere to RBBS-
  528.                                PC's  security  structure  have  had   their 
  529.                                system  "crashed"  and  every  SYSOP  should 
  530.                                operate  as  if the very next  caller  could 
  531.                                crash his system.
  532.  
  533.    CPC12.3         11/11/84    This was almost as total and as major a
  534. (Versions A-B)                 re-write of RBBS-PC as CPC10.0 had been.
  535.                                Beginning  with CPC12.3 up to nine RBBS-PC's 
  536.                                can share the same files in either a  multi-
  537.                                tasking DOS environment (i.e. MultiLink from 
  538.                                the Software Link,  Inc.) or in a local area 
  539.                                network environment (i.e. Corvus or Orchid).
  540.  
  541.    CPC12.4         03/10/85    RBBS-PC's stature in the industry became
  542. (Versions A,                   recognized when RBBS-PC was granted a 
  543.  A1, and B)                    license by Microcom to incorporate their 
  544.                                proprietary   MNP  protocol  into   RBBS-PC. 
  545.                                Almost  at  the same time many  manufactures 
  546.                                recognized the institution that RBBS-PC  had 
  547.                                become   in  our  industry  and  elected  to 
  548.                                include  "RBBS-PC  compatibility"  in  their 
  549.                                minimum  criteria  for the  introduction  of 
  550.                                their   new  products.    RBBS-PC's   Vendor 
  551.                                Support  Program is more fully explained  in 
  552.                                the  RBBS-PC  documentation but  one  direct 
  553.                                result  of  this was  the  intro-duction  of 
  554.                                300/1200/2400  support  in  CPC12.4A  before 
  555.                                most such modems were generally available.
  556.  
  557.    CPC12-5         07/14/85    RBBS-PC was enhanced to  allow 36  copies of
  558.  (Versions A                   RBBS-PC to share the same files in a network
  559.   and B)                       environment.   RBBS-PC automatically answers 
  560.                                the phone and no longer requires each caller 
  561.                                to  enter up to 3 carriage returns in  order 
  562.                                for  RBBS-PC to detect the users  baud  rate 
  563.                                and parity.   Logon to RBBS-PC has been made 
  564.                                much  more efficient with the USERS file  no 
  565.                                longer  being searched sequentially and  the 
  566.                                MESSAGES  file  no longer being  read  three 
  567.                                times.   Version  CPC12-5B,  released August 
  568.                                25,  1985, IS THE LAST VERSION COMPILABLE BY 
  569.                                VERSION  1.0  OF  THE  IBM  BASIC  COMPILER! 
  570.     N O T E!! ============>    Future  versions will be compilable by  both 
  571.                                the  Version 2.0 of the IBM  BASIC  compiler 
  572.                                ($495 list price) and Microsoft's QuickBASIC 
  573.                                Version 1.0 ($99 list price).  However, only 
  574.                                .EXE  files  generated from  the  QuickBASIC 
  575.                                compiler will be tested and supported.  
  576.  
  577.                        Page 9 of 77
  578. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  579.  
  580. During  the  evolution  of  RBBS-PC I have had the  distinct  privilege  of  
  581. working   with   many  contributors.    Contributions  have   ranged   from  
  582. suggestions,  to software fixes,  to significant enhancements,  to improved  
  583. documentation.  While I have met very few of these people personally, those  
  584. whose names I remember are:
  585.  
  586.   Everett Delano  Loren Jones         Harvey Pierce
  587.   Drew Commins    Larry Jordan        Danny Plunkett
  588.   Mike Brown      Robert Jueneman     Dick Rohrdanz
  589.   Don Dewall      Verne Kallejian     Rich Schinnell
  590.   Jim Fox         Steven Linhart      Andrew Silber
  591.   Warren Fox      Scott Loftesness    Carl Spencer  
  592.   Jim Fry         Harry Logan         Dorn Stickle      
  593.   Kent Galbraith  Tom Mack            Terry Steichen
  594.   Ken Goosens     Jon Martin          Yew Seng Tan
  595.   Read Gilgen     Robert Mahoney      Arnold Thomsen
  596.   Dave Hacquebord Sidney Markowitz    Clark Walker
  597.   Steve Harrison  Wes Meier           Robert White
  598.   Gary Hoff       Bill Newkirk
  599.   Gary Horwith    Juergen Nordhausen
  600.   Charlie Innusa
  601.  
  602. To  those  whose names have not been mentioned -- apologies  are  extended.    
  603. Take comfort in knowing that you live on in the work that you have wrought.
  604.  
  605. Jon  Martin is primarily responsible for whatever technical excellence that  
  606. exists in RBBS-PC -- including the ability to have multiple RBBS-PC's share 
  607. the same files.   I am not a programmer and didn't even know BASIC until  I  
  608. started   writing RBBS-PC and released RBBS-PC CPC10.0 in July   of   1983.   
  609. Jon's  commitment to RBBS-PC has at least matched my own.   Despite my  own  
  610. ineptness,  Jon's patience, understanding, and technical insights have been  
  611. unfailing  over  these  many months and,  I would like  to   both  publicly 
  612. acknowledge his contributions to RBBS-PC and  express  my  appreciation for 
  613. his efforts on behalf of RBBS-PC.
  614.  
  615. I'd  also like to mention Ken Goosens' efforts on behalf of  RBBS-PC.   Ken  
  616. took  the  time  and  trouble to wade through the  BASIC  source  code  and  
  617. incorporated  the  "security"  system that  exists  within  RBBS-PC  today.   
  618. Anyone   who  looks  at  the code can appreciate  the  magnitude  of  Ken's  
  619. efforts.
  620.  
  621. I  wish  space  allowed me to chronicle the contributions of  each  of  the  
  622. contributors   to  RBBS-PC.    In  an age  of  cynicism,  RBBS-PC  and  the  
  623. Userware  concept  represents an opportunity for each of us to give back to 
  624. the world  something a little better than when we found it.    As I said in 
  625. section  1,  this is something that I believe in strongly.   To each of the 
  626. contributors  to  RBBS-PC  I  would like to say personally
  627.  
  628.          "I am very  proud  of  the company that RBBS-PC keeps."
  629.  
  630. All  changes to RBBS-PC since CPC10.0 have been "ADDITIVE." By that I  mean  
  631. CPC12.5B will run in the same environment  and in the same way as  CPC10.0.   
  632. I felt that users should not  be forced to choose between features (i.e.  I  
  633. can run either the  features on CPC11.2 or the features on CPC12.1).  
  634.  
  635. 1.4  RBBS-PC Update Conventions
  636. -------------------------------
  637. As  RBBS-PC  continues  to evolve and be "debugged"  the  following  coding  
  638. conventions  have been helpful in the past and you are requested to observe  
  639. them in the future: 
  640.  
  641.                        Page 10 of 77
  642. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  643.  
  644. Updates  consist of two ASCII files.   One called xxxxxx.MRG which are  the  
  645. BASIC  source  statements  to be merged into CPC12.3  as  released  by  the  
  646. Capital PC Software exchange.   The second file is called xxxxxx.DOC  which  
  647. groups  each line number in xxxxx.MRG into the specific functions added and  
  648. describes  the  general feature added or bug  that  was  fixed.   Obviously  
  649. xxxxxx can be anything you wish to name it.   The second file will help the  
  650. poor  soul  that  must integrate several .MRG files  and  resolve  whatever  
  651. conflicts that may exist (i.e. yours truly).
  652.  
  653. The RBBS-PC naming conventions of CPCxx.x are roughly as follows:
  654.  
  655. 1.   If  a "bug" is being fixed CPCxx.x will be given a .MRG file name such  
  656. as  CPC12-1D.MRG  with  a corresponding CPC12-1D.DOC  file  describing  the  
  657. changes  on  a  line number by line number basis.   The  first  version  of  
  658. CPCxx.x  is  always "A".   When you logon to RBBS-PC the  version  will  be  
  659. displayed.
  660.  
  661. 2.   If a new feature or enhancement is added the last digit in the CPCxx.x  
  662. will be incremented by one (i.e. CPC12.2D was followed by CPC12.3A).
  663.  
  664. 3.   If a significant change to source code or logic occurs,  the first two  
  665. digits  of  the  release level will change (i.e.  CPC11.2 was  followed  by  
  666. CPC12.0)   The  purpose of these conventions is to allow everyone  to  know  
  667. what   RBBS-PC level they are running under (users as well as SYSOP's)  and  
  668. understand  the logic behind the changes/fixes as they occur so each  SYSOP  
  669. can evaluate them for his own needs.   If you have comments or fixes please  
  670. let us know so that they can be reflected in the RBBS-PC program and shared  
  671. with all other users.   You can do that by sending your changes by mail to:
  672.  
  673.                    Capital PC Software Exchange
  674.                           PO Box 6128
  675.                       Silver Spring MD 20906
  676.  
  677. or  uploading the changes to the CPCUG's Software Exchange's BBS maintained 
  678. by Rich Schinnell at (301) 949-8848.
  679.  
  680. While  comments  and  suggestions  are  always  welcome,   those  that  are 
  681. accompanied by the RBBS-PC source code changes that implement them  carry a 
  682. lot more weight than those that don't.
  683.  
  684. 1.5  An Example of "Users Helping Users"
  685. ---------------------------------------
  686. The  ability to have multiple RBBS-PC's running concurrently -- either on a 
  687. single PC in a multitasking DOS environment or in a local area network,  is 
  688. a concrete example of the concept of "users helping users" in action.  This 
  689. ability  was  developed  in support of the efforts of  the  State  of  West 
  690. Virginia Department of Education's "West Virginia Microcomputer Educational 
  691. Network"  project.   It  is the first statewide microcomputer  network  and 
  692. encompasses  all  of  the  state's 1,125 schools  in  55  different  school 
  693. districts.      Each   school  is  intended  to  have  the  capability   of 
  694. accommodating  up  to  twenty IBM PC's in a local area  network  sharing  a 
  695. common  20MB disk drive.   As of June of 1984,  83 of the 1,125 schools had 
  696. such  networks.   Each PC can communicate with either the  LAN,  a  central 
  697. library,  or  with other schools in order to share programs and  materials.  
  698. The key component for this communication is RBBS-PC.   In a presentation at 
  699. the U.S.  Department of Education in Washington,  D.C.on June 22, 1984, the 
  700. role RBBS-PC plays was described as follows:
  701.  
  702.  
  703.  
  704.  
  705.                        Page 11 of 77
  706. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  707.  
  708.          "The medium that ties the entire system together -- that 
  709.          allows for communication not only between one school and 
  710.          another but also between schools and the central library 
  711.          -- is  an  electronic  bulletin  board  (RBBS-PC)   This 
  712.          bulletin  board will be in operation 24 hours a  day  at 
  713.          the  central  site,  with  a similar bulletin  board  in 
  714.          operation at every school.
  715.  
  716.          The  local  school  bulletin board  (RBBS-PC)  could  be 
  717.          accessed by students who wish to review their lesson  or 
  718.          take  a test at home provided they had  a computer and a 
  719.          modem.   Teachers could access their grade book or other 
  720.          reports and lessons at home in preparation for the  next 
  721.          school day.
  722.  
  723.          Neither   bulletin  board  system   (RBBS-PC)   requires 
  724.          personnel to answer telephones or transmit files.   They 
  725.          are  both  totally unmanned and operate 24 hours a  day.  
  726.          No  toll  charges,  of course,  would  be  assessed  for 
  727.          calling  the  local school bulletin board and toll  free 
  728.          800 numbers are used for accessing the central library."
  729.  
  730. The State of West Virginia arranged to have the vendors involved,  IBM  and 
  731. Corvus,  make the appropriate equipment available on a "loan" basis so that 
  732. RBBS-PC  could  be developed to work in a local area  network  environment.  
  733. Since  this project conformed so closely to the primary objectives of RBBS-
  734. PC, we agreed to volunteer our time and take on the task of enhancing RBBS-
  735. PC  to  allow  up  to nine (9) copies of RBBS-PC  to  execute  concurrently 
  736. sharing  many  of the same files.   On a single PC the  maximum  number  of 
  737. concurrently running RBBS-PC's within the same DOS is limited only by:
  738.  
  739.         a.  the number of communications ports installed on the PC.  
  740.             IBM's limit is two (COM1 and COM2), but other vendors 
  741.             supply "add-on" cards which provide for up to eight
  742.             communications ports on a single PC.
  743.  
  744.         b.  the number of communications ports that the IBM BASIC
  745.             compiler can read and write to.  IBM's limit is two
  746.             (COM1 and COM2).
  747.  
  748.          c. the number of concurrently running tasks that can be
  749.             supported.  IBM's DOS is limited to one task.  Other
  750.             vendors provide "add-on" software to IBM's DOS that
  751.             provides for up to nine simultaneous tasks.
  752.  
  753. Within  a network environment (i.e.  multiple PC's linked together  sharing 
  754. the  same  devices)  the maximum number of concurrent RBBS-PC's is  set  by 
  755. RBBS-PC's internal design to nine (9).   This design was based on the  fact 
  756. that  anyone who wanted to run nine RBBS-PC's sharing the same set of files 
  757. would  take  the  $46,000 needed to buy  nine  PC's  with  modems,  network 
  758. interface cards, hard disk (at least 20MB) and purchase a microcomputer for 
  759. the same amount of money with more ports and storage.  For those interested 
  760. in  further  information  on  the State of  West  Virginia's  Microcomputer 
  761. Educational Network, please contact:
  762.  
  763.                Mr. John E. Cook
  764.                State of West Virginia Department of Education
  765.                1900 Washington Street East
  766.                Building 6, Room 221, Capital Complex
  767.                Charelston, West Virginia  25305
  768.  
  769.                        Page 12 of 77
  770. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  771.  
  772. 1.6  What's New With CPC12.5B
  773. -----------------------------
  774. CPC12.5B    (and   it's  companion  program  CONFIG.BAS  version  1.8)   is 
  775. essentially  a  maintenance  release  intended to  correct  all  the  known 
  776. problems of CPC12.5A.
  777.  
  778. With the availability of two new BASIC compilers, QuickBasic from Microsoft 
  779. for $99 and Version 2.0 of the IBM BASIC compiler for $495,  CPC12-5B  will 
  780. be  the  last release of RBBS-PC that will be compilable under the  Version 
  781. 1.0 of the IBM BASIC compiler.
  782.  
  783. Since Microsoft's QuickBasic compiler is a subset of IBM's new Version  2.0 
  784. BASIC  compiler,  future versions of RBBS-PC will be compilable under  both 
  785. compilers.   However,  only  RBBS-PC.EXE  files  generated  by  Microsoft's 
  786. QuickBasic compiler will be tested.   If the RBBS-PC.EXE file generated  by 
  787. the  IBM  Version 2.0 BASIC compiler fails to function  correctly,   it  is 
  788. suggested  that  you contact IBM and request the kind of support your  $495 
  789. should entitle you to.  
  790.  
  791. Version CPC12-5B HAS NO NEW ENHANCEMENTS over CPC12-5A.  It is absolutely a 
  792. maintenance release.  The primary errors that are corrected in 12-5B are:
  793.  
  794. 1.   RBBS-PC no longer requires the "ring indicator" signal (i.e.  pin  22) 
  795. unless  the  SYSOP wants to use "ring-back" or RBBS-PC to answer the  phone 
  796. only after the "nth" ring.   Correcting the earlier dependency on the "ring 
  797. indicator" will allow more modem's and systems to run RBBS-PC.
  798.  
  799. 2.   Users  are now notified of the date and time that they where last  on.  
  800. Correcting this security laspe allows users to know if someone is accessing 
  801. a system with their name and password.
  802.  
  803. 3.   The  time in "chat" mode is no longer counted against a users  elasped 
  804. time.   Correcting this error,  hopefully, will encourage more exchanges of 
  805. ideas.
  806.  
  807. 4.   Users can no longer enter mail to adressees that are not in the  USERS 
  808. file.   Correcting  this  error  insures that users can not  send  mail  to 
  809. "phantoms"  except to those "phantoms" (i.e.  AUTHORS) which the SYSOP  has 
  810. established.  
  811.  
  812. 5.   Users  are  now told that either Ctrl K or Ctrl X can  interrupt  file 
  813. transfers.
  814.  
  815. 6.  "WRK" has been added to those files that require binary transfers.
  816.  
  817. 7.  Uploads that are for the SYSOP only (i.e. whose descriptions begin with 
  818. a "/") no longer have the description lost.  It is now added to the CALLERS 
  819. file.
  820.  
  821. 8.   Users who are locked out and call back are denied any future access if 
  822. they commit another security violation.  This corrects the problem of those 
  823. who  continually attempt to break RBBS-PC's security being allowed to  call 
  824. back indefinitely.
  825.  
  826. 9.   The  problem with the SYSOP function # 2 not displaying all the  users 
  827. has been corrected.
  828.  
  829. 10.   The  problem  of  RBBS-PC placing the last message read in  the  main 
  830. MESSAGES file when coming back from a public conference has been corrected.
  831.  
  832.  
  833.                        Page 13 of 77
  834. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  835.  
  836. 11.   The  problem  of searching for a user with SYSOP function  5  causing 
  837. RBBS-PC to go into a loop has been corrected.
  838.  
  839. 12.  When searching the drive's available for uploading (if more than one), 
  840. all drives are now searched.
  841.  
  842. 13.  The error that allowed the SYSOP to exceed the maximum number of lines 
  843. per message has been corrected.
  844.  
  845. 14.   The  error where when selecting a nonexistant conference  that  would 
  846. still  place  that  conference name in front of the menu prompts  has  been 
  847. corrected.
  848.  
  849. 15.  Users are only authorized to read messages no longer can reply to them 
  850. or kill them.
  851.  
  852. 16.   CONFIG  has  been substantially re-written.   The fundamental  design 
  853. change  in  CONFIG  was  to create USERS and  MESSAGES  files  (or  updates 
  854. thereto)  at the time that an option is selected rather than waiting  until 
  855. the  SYSOP  ends  the  CONFIG  session.   Additionally,  when  creating  or 
  856. maintaining "conferences" the SYSOP is graphically reminded that CONFIG  is 
  857. in  conference maintenance mode.   This design change virtually  eliminates 
  858. problems  experienced with earlier versions of CONFIG when creating  either 
  859. public  or private conferences.   A new field was added to the "checkpoint" 
  860. record (i.e.  the first record of a message/conference file) that indicated 
  861. the maximum number of messages allowed in the message/conference file. 
  862.  
  863. 2.0 RBBS-PC "BASE-LINE" HARDWARE REQUIREMENTS
  864. ---------------------------------------------
  865. RBBS-PC  CPC12-5B  is designed to run on an IBM Personal  Computer  running  
  866. IBM's  Disk Operating System (DOS),  communicating via an IBM  Asynchronous  
  867. Communications  Adapter  and  a Hayes Smartmodem 1200  modem.  For  RBBS-PC  
  868. CPC12-5B the following equipment and software is recommended:
  869.  
  870.                IBM PC or IBM PC XT or IBM PC AT
  871.                80 column monitor
  872.                Asynchronous communications  adapter (serial port)
  873.                Hayes Smartmodem  1200 (or 100% Hayes compatable!)
  874.                Voice  grade  telephone connection  for  modem
  875.                25 pin RS-232-C modem  cable  (for stand alone modem)
  876.                192K RAM 
  877.                Two double  sided drives
  878.                Printer
  879.                PC-DOS 2.0 or higher
  880.                BASICA 2.0 or higher
  881.  
  882.  
  883. The compiled version of RBBS-PC,   RBBS-PC.EXE,   is approximately 107K and 
  884. (if  MNP protocol is included) is approximately 138K.    DOS  2.0  and  DOS 
  885. 2.1  both  take slightly more than 24K.    In order  to   run   RBBS-PC.EXE   
  886. within  a  128K configuration you would have to compile  and  link  RBBS-PC 
  887. without  the  MNP protocol support and the only DOS available to   you   is  
  888. DOS 1.1.  Of course, with only 128K you would have no room for a RAM drive.
  889.  
  890. A  minimum  of 192K is recommended unless you are running under  DOS 1.1 or 
  891. the  BASIC interpreter.   Under the BASIC interpreter, the multiple RBBS-PC 
  892. and MNP capabilities are unavailable!
  893.  
  894. Also you may choose to run RBBS-PC on only a  single  double sided drive or 
  895. two single sided drives.  However the less disk space  available  the  more 
  896.  
  897.                        Page 14 of 77
  898. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  899.  
  900. file  maintenance the SYSOP  must do.   If  you  have  a  second  telephone 
  901. installed specifically for RBBS-PC, ask for a second voice  grade telephone 
  902. line.   Data lines are very expensive and are not necessary.   The  program 
  903. requires  the  use of a Hayes 1200 Smartmodem (or one that  is  100%  Hayes 
  904. compatable)  in  order  to  function properly.   If  your  non-Hayes  modem 
  905. doesn't work with RBBS-PC, send RBBS-PC (source code and all) to the vendor 
  906. and  ask him to expalin why it doesn't work (i.e.  why it is "incompatable" 
  907. with the Hayes 1200). 
  908.  
  909. Callers who come in at even parity and 7 data bits,  then try to change  to  
  910. no  parity  and  8 data bits to use XMODEM may have a problem if  they  are  
  911. using PC-TALK and a Hayes Smartmodem.   Switch 1 on the caller's modem  has 
  912. to be down (the factory  default  position)  or the carrier will be dropped 
  913. when  the  communication  parameters  are  switched.  To avoid this the PC-
  914. TALK  caller will  have  to  enter the escape code (factory setting "+++"),  
  915. reset the modem  parameters  with  Alt-P and/or Alt-F,   and then return to 
  916. the  "connect"  state  with   the  command   "ATO."  Callers  who  wish  to 
  917. communicate  at 450 baud have to call in  at  300  baud  then switch to 450 
  918. using the N)ew baud  selection  from  the  "Utilities" menu.
  919.  
  920. Beginning  with  version CPC12-5B,  RBBS-PC  does not require PIN 22 to  be 
  921. hooked up on the RS-232-C cable (that's the  cable  which runs between  the 
  922. modem and the computer) except when a non-zero value is selected for option 
  923. 9 of CONFIG.   In order for RBBS-PC to answer the phone on a specified ring 
  924. number,  the modem must send a "ring-indicator" signal to to RBBS-PC.  This 
  925. is  the way that RBBS-PC detects that the phone is ringing when a SYSOP has 
  926. selected option 9 of CONFIG to either answer on a specified number of rings 
  927. or on a "ringback".  PIN 22 is the  ring  indicator  coming  from the modem 
  928. going  to  the  computer.  Just because you bought an  RS232  cable,  don't 
  929. assume  that it has PIN 22 connected.   The $55 12-pin RS232 cable sold  by 
  930. many computer stores often does not have PIN 22 connected.   For about  $18 
  931. in  parts  from Radio Shack you can put together your own RS232 cable  with 
  932. all the  pins connected.   Recently a friend of mine paid $14.88 (including 
  933. postage)  for  a RS232 cable with all the pins connected by  ordering  part 
  934. number  CDB25P-4-S from Jameco Electronics (their telephone number  is  415 
  935. 592-8097).
  936.  
  937. 3.0 RBBS-PC's Support Policies
  938. ------------------------------
  939. 3.1 RBBS-PC's Vendor Support Policy
  940. -----------------------------------
  941. The  only reason RBBS-PC is "hardware-specific" to the IBM PC and the Hayes  
  942. Smartmodem is that these have pretty much set an industry standard   (let's 
  943. not   debate  the  issue  of whether they have  also  set  a   "technology"  
  944. standard).  If you follow the code in RBBS-PC closely, you will notice that  
  945. a great deal of effort was expended in order not to be "hardware-dependent"  
  946. on either the Hayes or the IBM PC.
  947.  
  948. The   purposes  of  RBBS-PC are outlined in section  1.0   of  the  RBBS-PC 
  949. documentation.   Those  who  contribute  to  RBBS-PC do so without any hope  
  950. of  monetary   reward.    In  fact great lengths are taken to  assure  that 
  951. neither  those  involved with the development of RBBS-PC  nor  anyone   who  
  952. distributes   RBBS-PC  does  so for either personal gain or to  promote   a  
  953. specific product at the expense of other products.
  954.  
  955. If  the hardware you are using is not part of the "base-line" hardware  and  
  956. RBBS-PC  doesn't  work,  your only recourse is to either modify RBBS-PC  to  
  957. meet  your  particular  hardware's needs (that's why  the  source  code  is  
  958. distributed)  or  contact  your vendor and ask him to fix his  hardware  or  
  959. modify RBBS-PC (via a .MRG file) to support his hardware.
  960.  
  961.                        Page 15 of 77
  962. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  963.  
  964.  
  965. During  1984 RBBS-PC  became something of an "industry standard."   As such 
  966. several  manufacturers  have requested that support for  their   particular  
  967. hardware  and/or software be incorporated into RBBS-PC.  These vendors have 
  968. had three choices:
  969.  
  970. 1.  Obtain  a  copy  of the BASIC source code by  sending  $8  to  the 
  971.     Capital PC User Group's Software Exchange.  The source code allows 
  972.     the   vendor  to  determine  what  is  required  to  be   "RBBS-PC 
  973.     compatible"   and    who  better  knows   the   quirks   of    the  
  974.     manufacturer's  product, than the manufacturer?  RBBS-PC's limited 
  975.     license  specifically permits the  distribution of   ".MRG"  files 
  976.     that  would  allow RBBS-PC to run with whatever idiomatic   quirks   
  977.     a  specific  vendor's product exhibited.   The  advantage  to  the 
  978.     manufacturer  is that he is in complete control;  he need not make 
  979.     the .MRG "universal" (i.e. it need only support his product).  The 
  980.     disadvantage is that new releases of RBBS-PC come out every six to 
  981.     eight  weeks and the vendor would have to review each release  and 
  982.     make sure the new releases and his .MRG files were compatible.  Of 
  983.     course,  as  for  any other  RBBS-PC  operator,  casual  telephone 
  984.     support is available to these vendors.
  985.  
  986. 2.  Supply the necessary equipment or software on a loan or gift basis 
  987.     to  be  used in the testing of future releases of  RBBS-PC.   This 
  988.     approach  has  been  actively DISCOURAGED  for  three  fundamental 
  989.     reasons.
  990.  
  991.     First  the vendor perceives he has "paid" for on-going support  by 
  992.     the loan or donation of the product.  This is not the case because 
  993.     RBBS-PC's  development  is an  all-volunteer  activity.   As  such 
  994.     neither  I nor any of the others involved with the development  of 
  995.     RBBS-PC  may  have  the time nor expertise  sufficient  to  assure 
  996.     compatibility   of  the  specific  vendor's  product  with  future 
  997.     releases  of RBBS-PC.   About all that can be done is to give  the 
  998.     vendor our "best effort" to assure compatibility,  and advise  him 
  999.     when it can not be made compatible.
  1000.  
  1001.     Second,   the   particular  product  may  not  have  a   universal 
  1002.     applicability  to RBBS-PC users and (or) may not be of interest to 
  1003.     those  who  regularly contribute to the  development  of  RBBS-PC.   
  1004.     Both of these conditions must exist before any vendor's product is 
  1005.     incorporated into the RBBS-PC development cycle.
  1006.  
  1007.     Third  the price of the loaned or donated products (usually 3 to 5 
  1008.     such  products)  in no way can even begin to  compensate  for  the 
  1009.     hundreds  (if  not  thousands) of development  hours  required  to 
  1010.     support other than "base line" hardware. 
  1011.  
  1012. 3.  Establish  an  on-going  institutional commitment  to  maintain  a 
  1013.     dialogue  between  the vendor's engineering group and the  RBBS-PC 
  1014.     development  team along with supplying the necessary equipment  or 
  1015.     software  on  a loan or gift basis to be used in  the  testing  of 
  1016.     future  releases  of  RBBS-PC.   This approach has  been  actively 
  1017.     ENCOURAGED for three different and fundamental reasons.
  1018.  
  1019.     First  the  vendor overtly makes an  institutional  commitment  to 
  1020.     jointly participate in the development of RBBS-PC.  The vendor has 
  1021.     the  opportunity to supplement the all-volunteer activity that  is 
  1022.     the basis for RBBS-PC development by choosing to either modify his 
  1023.     current  or  future products to be compatible with RBBS-PC  or  to 
  1024.  
  1025.                        Page 16 of 77
  1026. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1027.  
  1028.     supply  software that ensures compatibility  with  RBBS-PC.   This 
  1029.     benefits all RBBS-PC users.
  1030.  
  1031.     Second,  the  particular products that fall into this category are 
  1032.     required to have a universal applicability to RBBS-PC users  (i.e. 
  1033.     multi-tasking DOS,  networking,  2400 baud capability,  error-free 
  1034.     protocols,  etc.).   Also  a  regular  contributor to  RBBS-PC  's 
  1035.     development  must be geographically located close to the  vendor's 
  1036.     development  engineers to assure a timely dialogue.   Further  any 
  1037.     regular  contributor  to  RBBS-PC's development  who  accepts  the 
  1038.     responsibility   for  assuring  RBBS-PC's  compatibility  with   a 
  1039.     particular  vendor's product must be willing to do so solely on  a 
  1040.     volunteer basis over an extended period of time and in such a  way 
  1041.     as not to exclude other vendor's products.  Only when all of these 
  1042.     conditions  exist  is  any  vendor's product  a  candidate  to  be 
  1043.     incorporated  into  the RBBS-PC development cycle.   This  assures 
  1044.     that  the RBBS-PC user community has a feed-back mechanism to  the 
  1045.     vendor's  product development and design teams and the  vendor  is 
  1046.     assured  of  a  matching  long-term commitment  from  the  RBBS-PC 
  1047.     development team.
  1048.  
  1049.     Third  the  vendor  recognizes that the  price of  the  loaned  or 
  1050.     donated  products  (usually  3 to 5 such  products)  is  minuscule 
  1051.     compared  with the hundreds (if not thousands) of  man-hours  that 
  1052.     may be required  from both the RBBS-PC development team as well as 
  1053.     the vendor's engineers.   This assures that the vendors who choose 
  1054.     this  later approach are committed to the PC user community and it 
  1055.     is  precisely  this  type of commitment  that  RBBS-PC's  USERWARE 
  1056.     concept is designed to encourage (from both users and vendors)
  1057.  
  1058. Vendors  who  have chosen to make this third type of commitment to  RBBS-PC 
  1059. and the PC user community deserve the respect and encouragement of every PC 
  1060. user and are (alphabetically):
  1061.  
  1062.     Ark Electronic Products, Inc.
  1063.     325 W. Hibiscus Blvd.
  1064.     Melbourne, Florida  32901
  1065.     (305) 724-5260 
  1066.  
  1067.     Corvus Systems, Inc.
  1068.     2100 Corvus Drive
  1069.     San Jose, California 95124
  1070.     (408) 559-7000
  1071.  
  1072.     Hayes Microcomputer Products, Inc.
  1073.     5923 Peachtree Industrial Blvd.
  1074.     Narcross, Georgia  30092
  1075.     (404) 449-8791
  1076.  
  1077.     International Business Machines Corporation
  1078.     (Internal Zip Code 2900)
  1079.     P.O. Box 1328
  1080.     Boca Raton, Florida  33432
  1081.     (305) 998-2000
  1082.  
  1083.     Microcom, Inc.
  1084.     1400A Providence Highway
  1085.     Norwood, MA  02062
  1086.     (617) 762-9310
  1087.  
  1088.  
  1089.                        Page 17 of 77
  1090. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1091.  
  1092.     Multi-Tech Systems, Inc.
  1093.     82 Second Avenue, S.E.
  1094.     New Brighton, Minnesota  55112
  1095.     (612) 631-3550
  1096.     Orchid Technology
  1097.     4790 Westinghouse Drive
  1098.     Fremont, CA 94539
  1099.     (415) 490-8586
  1100.  
  1101.     Prometheus Products Incorporated
  1102.     4545 Cushing Parkway
  1103.     Fremont, CA  94538
  1104.     (415) 490-2370
  1105.  
  1106.     Racal-Vadic
  1107.     1525 McCarthy Blvd.
  1108.     Milpitas, California 95035
  1109.     (408) 774-0810
  1110.  
  1111.     The Software Link, Inc.
  1112.     8601 Dunwoody Place
  1113.     Suite 336
  1114.     Atlanta, GA  30338
  1115.     (404) 998-0700
  1116.  
  1117. Users  who feel that they have benefited or who appreciate such  commitment 
  1118. to  the user community should write or call the above vendors and tell them 
  1119. so,  especially  if  such  a commitment influenced the  purchase  of  their 
  1120. products.   Similarly,  if  any  user feels another vendor  should  make  a 
  1121. similar commitment to RBBS-PC and the user community, write that vendor and 
  1122. send a copy of your letter to the following address:
  1123.  
  1124.                         Tom Mack
  1125.                         10210 Oxfordshire Road
  1126.                         Great Falls, Virginia 22066
  1127.  
  1128. APPENDIX  B  describes  the RBBS-PC specifications for  those  vendor's  of 
  1129. proprietary  protocols who would like to have them added to future releases 
  1130. of RBBS-PC.  
  1131.  
  1132. 3.2 RBBS-PC User Support Policy
  1133. -------------------------------
  1134. RBBS-PC is an all-volunteer effort on my part.   Professionally I am not  a 
  1135. programmer (as anyone who has looked at the source code can testify) nor an 
  1136. "expert/guru" on personal computers.  Since I am not independently wealthy, 
  1137. I have a full time job (unrelated to PC's).   As with most other folks, I'm 
  1138. also  busy  raising  a  family.   What time I can spare  from  these  other 
  1139. activities  I  am  glad to donate to answer questions about  RBBS-PC  as  I 
  1140. believe (somewhat fanatically) in the Userware concept.
  1141.  
  1142. However,  if  you have questions regarding something other than the  "base-
  1143. line"  hardware  and software requirements outlined in section  2.0,  DON'T 
  1144. CALL  ME.   I probably can't help you anyway and even if I do venture  some 
  1145. advice  it  will probably be wrong.   One of the axioms of  the  "userware" 
  1146. concept is that every user should be able to help themselves -- that's  why 
  1147. there are 77 pages of documentation and the source code is distributed.
  1148.  
  1149. The only calls that I truly appreciate are those that reveal BOTH a problem 
  1150. and a solution.  These I am more than happy to share with anyone and are as 
  1151. rapidly  as  possible included in RBBS-PC (either  the  documentation,  the 
  1152.  
  1153.                        Page 18 of 77
  1154. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1155.  
  1156. software, or both). Of course,  if you encounter a problem and
  1157.  
  1158.      1.  read and re-read the documentation, 
  1159.      2.  spend  days  and days attempting to isolate it,
  1160.      3.  called other  SYSOP's  and asked  their help,
  1161.      4.  run RBBS-PC under the BASIC interperter to isolate the 
  1162.          problem area in the code,
  1163.      5.  looked up any error messages you encountered (they are in the 
  1164.          BASIC manual that comes with your IBM PC's DOS),
  1165.      6.  know what version of RBBS-PC that you are running,
  1166.      7.  know what version of CONFIG that you are running,
  1167.      8.  eliminated all other software from your environment,
  1168.  
  1169. and  still can not get RBBS-PC to work,  I am most happy to  lend  whatever 
  1170. telephone  advice I can.
  1171.  
  1172. In  this  world  it  helps to remember that there are  only  two  types  of 
  1173. problems  -- MY  problems (which are the ones that I can solve)  and  OTHER 
  1174. PEOPLE's problems (which are the ones that I can't solve).
  1175.  
  1176. 4.0 OPERATING SYSTEM REQUIREMENTS
  1177. ---------------------------------
  1178. Under  the basic interpreter RBBS-PC uses the FILES function  to  determine  
  1179. the  amount  of free space available on the disks for  comments,  messages,  
  1180. uploads, and the SYSOP.  Under DOS1.1's BASICA this FILES function does not  
  1181. return the amount of free space or file sizes and,  hence, this information  
  1182. is unavailable.  Under the compiler available free space is returned by the  
  1183. use of an assembler subroutine (UTILITY).
  1184.  
  1185. 5.0 HOW TO GET A COPY OF RBBS-PC SENT TO YOU
  1186. --------------------------------------------
  1187. RBBS-PC  can be obtained by sending a  check  for  $8 to the
  1188.  
  1189.                Capital PC Software Exchange
  1190.                P.O. Box 6128
  1191.                Silver Spring MD 20906.
  1192.  
  1193. RBBS-PC is distributed on two double-sided, 9-sector, diskettes. Allow 3 to
  1194. 4 weeks for delivery -- remember this is an all-volunteer effort.
  1195.  
  1196. The  exigencies  of  RBBS-PC software releases may mean  that  diskette  18  
  1197. contains  an  earlier version of RBBS-PC than CPC12-5B (either  you  bought  
  1198. diskette 18 awhile ago or there has been not enough time for diskette 18 to  
  1199. be updated to this most current version).   Not to fear!   Your $8 has  not  
  1200. been wasted.    At least three bulletin boards keep the most current copies 
  1201. of  RBBS-PC CPC12-5B for downloading.  They are: 
  1202.  
  1203. (703) 759-5049 --+
  1204.                  +---- East Coast (Great Falls, Virginia), 
  1205. (703) 759-9659 --+
  1206.  
  1207. (202) 537-7475 ------- East Coast (Washington, D.C.), and
  1208.  
  1209. (415) 689-2090 ------- West Coast (Concord, California).
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.                        Page 19 of 77
  1218. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1219.  
  1220. 6.0 FILES RBBS-PC USES
  1221. ----------------------
  1222. There  are essentially two types of files that RBBS-PC uses -- "system" and 
  1223. "text"  files.   "System"  files are defined as random files  that  RBBS-PC 
  1224. reads  and  writes  to.   "Text" files are defined as  files  that  RBBS-PC 
  1225. primarily  reads from which can be edited externally to RBBS-PC  with  most 
  1226. text  editors  that  can handle ASCII files.  Either type of  file  can  be 
  1227. "static" or "variable" in length.  By "static" it is meant that these files 
  1228. have  a  pre-defined  length  beyond which RBBS-PC does  not  extend  them.  
  1229. Similarly,  "variable" length files are defined as those files whose length 
  1230. is  dynamically increased by RBBS-PC.   In a multiple  RBBS-PC  environment 
  1231. only the "static" length files can be shared SAFELY among the various RBBS-
  1232. PC's.   The following table summarizes, using the default file names, which 
  1233. category the different RBBS-PC files fall in:
  1234.  
  1235.         "Static" Length Files       "Variable" Length Files 
  1236.   -----
  1237.    /|\    MESSAGES                      CALLERS
  1238.   System  USERS                         COMMENTS
  1239.   Files   MESSAGES.BAK                  99.DIR (upload directory)                 
  1240.    \|/    USERS.BAK                     upload disk   
  1241.   -----   RBBSxPC.DEF                   
  1242.   -----   BULLET                     
  1243.    /|\    BULLET1 --> BULLETn
  1244.     |     DIR.DIR                          
  1245.     |     aa.DIR  --> bb.DIR            
  1246.   Text    FILESEC and PASSWRDS         
  1247.   Files   HELP01  --> HELP08           
  1248.     |     MENU1   --> MENU5
  1249.     |     NEWUSER                     
  1250.    \|/    TRASHCAN & CONFENCE                   
  1251.   -----   WELCOME                       
  1252.  
  1253. In  a  CORVUS network environment some of the "static" length files can  be 
  1254. shared  on a common volume and ALL of the "variable" length files  must  be 
  1255. segregated on volumes unique to each copy of RBBS-PC.   RBBS-PC issues  the 
  1256. NAME function of BASIC in order to determine if a file exists.   Because of 
  1257. this  all the volumes accessed by any RBBS-PC in a CORVUS network  must  be 
  1258. designated  "read/write." Therefore,  you must be very careful when running 
  1259. CONFIG.BAS which creates the definition file (RBBSxPC.DEF) for each copy of 
  1260. RBBS-PC that you layout the RBBS-PC files as follows:
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.                        Page 20 of 77
  1282. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1283.  
  1284.        Sharable RBBS-PC Files in a     Non-sharable RBBS-PC Files in a
  1285.        CORVUS network (i.e. on a       CORVUS network (i.e. each RBBS-PC
  1286.        common volume)                  has a volume dedicated to it.)
  1287.  
  1288.   -----                                CALLERS
  1289.    /|\    MESSAGES                     COMMENTS
  1290.   System  USERS                        99.DIR (upload directory)
  1291.   Files   MESSAGES.BAK                 upload disk
  1292.    \|/    USERS.BAK                    RBBSxPC.DEF
  1293.   -----   BULLET                      
  1294.    /|\    BULLET1 --> BULLETn
  1295.     |     DIR.DIR                          
  1296.     |     aa.DIR  --> bb.DIR            
  1297.   Text    FILESEC and PASSWRDS          
  1298.   Files   HELP01  --> HELP08          
  1299.     |     MENU1   --> MENU5
  1300.     |     NEWUSER                     
  1301.    \|/    TRASHCAN & CONFENCE                    
  1302.   -----   WELCOME         
  1303.  
  1304. In  a  MultiLink (i.e.  from the Software Link,  Inc.) environment  and  in 
  1305. Orchid's  PC-NET  environment  the  vendor's claim that not  only  all  the 
  1306. "static" length files can be shared on a common volume but also some of the 
  1307. "variable"  length  files can be shared.  However,  if you want  to  be  as 
  1308. conservative  as possible,  run RBBS-PC in ALL environments as if it  where 
  1309. running  in  a CORVUS network environment.   However,  if you rely  on  the 
  1310. vendor's claims,  in either a MultiLink or PC-NET environment, when running 
  1311. CONFIG.BAS which creates the definition file (RBBSxPC.DEF) for each copy of 
  1312. RBBS-PC  you  must  be  careful to layout the  RBBS-PC  files  as  follows:
  1313.                  
  1314.        Sharable RBBS-PC Files in a     Non-sharable RBBS-PC Files in a
  1315.        MultiLink or PC-NET enviro-     MultiLink or PC-NET environment
  1316.        nment (i.e. shared on a         (i.e. each RBBS-PC has a volume
  1317.        common volume)                  dedicated to it with these files 
  1318.                                        on it).
  1319.   -----                               
  1320.    /|\    MESSAGES, MESSAGES.BAK        CALLERS
  1321.     |     USERS, USERS.BAK
  1322.   System  COMMENTS 
  1323.    Files  99.DIR (upload directory)
  1324.     |     upload disk
  1325.    \|/    RBBS-PC.DEF                  
  1326.   -----                                 
  1327.   -----   BULLET                      
  1328.    /|\    BULLET1 --> BULLETn
  1329.     |     DIR.DIR                          
  1330.     |     aa.DIR  --> bb.DIR
  1331.   Text    FILESEC and PASSWRDS          
  1332.   Files   HELP01  --> HELP08          
  1333.     |     MENU1   --> MENU5
  1334.     |     NEWUSER                     
  1335.    \|/    TRASHCAN & CONFENCE                    
  1336.   -----   WELCOME         
  1337.  
  1338. 6.1  RBBS-PC System Files
  1339. -------------------------
  1340. As shown above, "system" files are both static and variable in length.  The 
  1341. system files used by RBBS-PC are:
  1342.  
  1343.  
  1344.  
  1345.                        Page 21 of 77
  1346. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1347.  
  1348. MESSAGES  - This  file is a random file that contains the message text  for  
  1349. the   RBBS-PC system.    The first record in the file contains the  RBBS-PC 
  1350. "checkpoint"  record.   The records immediately following this first record 
  1351. are  the RBBS-PC "node" records.  The rest of the file consists of  message  
  1352. header   records   which   are  followed by the  message  text   for   that  
  1353. header.   Appendix A describes the fields and their uses within the various 
  1354. type of records of the messages file.  RBBS-PC expects the messages file to 
  1355. exist and to have been created by CONFIG.BAS.   If CONFIG.BAS does not find 
  1356. the MESSAGES file or it finds one in pre-CPC12-3A format, it will create it  
  1357. and  initialize it to the size the SYSOP specifies.   Because of the  fixed 
  1358. length  records in  this file,   it should not be created or edited outside 
  1359. RBBS-PC.    When   the  SYSOP  "packs" the message file  using  CONFIG.BAS,  
  1360. the  file  MESSAGES.BAK is created to  hold  the old messages in  case  the 
  1361. "pack" is unsuccessful (i.e.  not enough space  to  duplicate  the  message 
  1362. file).   If  the  disk fills up  during  the  pack  function  RBBS-PC  will 
  1363. recover  the  message file using MESSAGES.BAK.  When the messages  file  is 
  1364. successfully packed,  the pre-packed messages file is renamed  MESSAGES.OLD 
  1365. and  the  temporary file MESSAGES.BAK is renamed MESSAGES.    The  MESSAGES 
  1366. file  should only be "packed" in a multiple RBBS-PC environment when  there 
  1367. are  no RBBS-PC's active.   The MESSAGES file can be shared among  multiple 
  1368. RBBS-PC's.
  1369.  
  1370. USERS  - The users file is a random access file that has a record for  each  
  1371. user  that used the system.   The record contains a profile for  each  user 
  1372. that  has  logged on to RBBS-PC.   Appendix A describes the format  of  the 
  1373. records within the USERS file.  The records are 128 bytes in length and are 
  1374. automatically  maintained  by  RBBS-PC.    The  SYSOP  can do some  limited  
  1375. editing   using  SYSOP function 5.   To initialize the system simply  ERASE 
  1376. this file.    RBBS-PC expects the USERS file to exist.  If  CONFIG.BAS does  
  1377. not  find the file on the system it will create it to the size specified by 
  1378. the  SYSOP.   The   USERS  file   should  not be created or edited  outside 
  1379. CONFIG.BAS.   When the SYSOP  "packs"  the user file using CONFIG.BAS,  the 
  1380. file  USERS.BAK  is created to hold the old users in case  the   "pack"  is 
  1381. unsuccessful (i.e.   not enough space to duplicate the  users  file).    If 
  1382. the  disk fills up during the pack function RBBS-PC will recover  the  USER 
  1383. file with USERS.BAK.   When the users file is successfully packed, the pre-
  1384. packed users file is renamed users.OLD and the temporary file USERS.BAK  is 
  1385. renamed USERS. The USERS file should only be "packed" in a multiple RBBS-PC 
  1386. environment  when  there are no RBBS-PC's active.   The USERS file  can  be 
  1387. shared among multiple RBBS-PC's.
  1388.  
  1389. CALLERS - This file is a random file that contains a log of all callers  as  
  1390. they sign-on the system along with callers city and state, the date and the  
  1391. time.   The names are added to the end of the file as well as are the names  
  1392. of  the files uploaded/downloaded by the caller.   If the file is not found  
  1393. RBBS-PC will create a new one.  The file should be ERASED to clear the log.  
  1394. The CALLERS file can not be shared among multiple RBBS-PC's.
  1395.  
  1396. COMMENTS  - This file is a sequential file that contains any comments  that  
  1397. have been left by users for the SYSOP.   The file can be scanned by a SYSOP  
  1398. function  or it can be TYPEd or edited outside the RBBS  system.   A  SYSOP  
  1399. function is available to delete this file,  or it can be emptied outside of  
  1400. DOS.    The  file  will  be created by RBBS-PC if it  is  not  found.   The 
  1401. COMMENTS  file  can  not be shared among multiple RBBS-PC's  using  CORVUS' 
  1402. "OMNINET".  This file can be shared using Multi-link or Orchid.
  1403.  
  1404. 99.DIR   - The  file  on the upload disk that is to have  the  name,   file  
  1405. size,   date,  and  description  appended  to it of files  that  have  been 
  1406. uploaded.   The  99.DIR  file can not be shared among  multiple  RBBS-PC's 
  1407. using  CORVUS'  "OMNINET", but can be shared  using  Multi-link  or Orchid.
  1408.  
  1409.                        Page 22 of 77
  1410. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1411.  
  1412. RBBS-PC.DEF  - This  is  an  ASCII  text file  created  as  output  by  the  
  1413. CONFIG.BAS file.  It contains the configuration parameters for the RBBS. It  
  1414. is  read by RBBS to determine the configuration settings tailored  to  your  
  1415. RBBS- PC.   In  a multiple RBBS-PC environment the definition file for each 
  1416. RBBS-PC is named RBBSxPC.DEF where "x" is a number 1 through 9 , 0 (for the 
  1417. tenth  copy),  and  A  through  Z  (for the  eleventh  through  36th  copy) 
  1418. corresponding to which copy RBBS-PC it describes.
  1419.  
  1420. In  a  multiple RBBS-PC environment,  (i.e.  using "OMNINET") each  RBBS-PC 
  1421. should  have a unique volume that the other RBBS-PC's should not  write  to 
  1422. (they  may  read from) on which to write it's  CALLERS,  COMMENTS,  99.DIR, 
  1423. RBBSxPC.DEF, and file uploads.  In a "OMNINET" network with four RBBS-PC's, 
  1424. the disk volumes would all have to allocated as both read and  write.   The 
  1425. SYSOP would have to carefully set up each RBBSxPC.DEF file using CONFIG.BAS 
  1426. such that the actual access was as follows:
  1427.  
  1428.               Physical    Physical     Physical     Physical     Physical
  1429.              Volume "D"  Volume "E"   Volume "F"   Volume "G"   Volume "H"
  1430.  
  1431. RBBS-PC #1    READ/WRITE  Read-only   Read-only    Read-only    Read-write
  1432. RBBS-PC #2    Read-only   READ/WRITE  Read-only    Read-only    Read-write
  1433. RBBS-PC #3    Read-only   Read-only   READ/WRITE   Read-only    Read-write 
  1434. RBBS-PC #4    Read-only   Read-only   Read-only    READ/WRITE   Read-write
  1435.  
  1436. Physical  volume  "H" would contain all the sharable  RBBS-PC  files.   The 
  1437. files  that  are "sharable" are a function of the type of environment  that 
  1438. the multiple RBBS-PC's are running in (see section 6.0).  
  1439.  
  1440. Each copy of RBBS-PC would have it's own physical volume that all the other 
  1441. copies  of RBBS-PC would access as "read-only" and which it could access as 
  1442. "READ/WRITE."   This "READ/WRITE" volume would contain all the non-sharable 
  1443. RBBS-PC  files.   The files that are "non-sharable" are a function  of  the 
  1444. type  of  multiple  RBBS-PC  environment that RBBS-PC is  running  in  (see 
  1445. section 6.0).
  1446.  
  1447. RBBS-PC  displays  the  status of those files which must  be  locked  in  a 
  1448. network  environment  on line 25.   The lock status of the message file  is 
  1449. displayed  in  positions  68 & 69.   The lock status of the  user  file  is 
  1450. displayed  in  positions 71 & 72.   The lock block status is  displayed  in 
  1451. positions 74 & 75 and comments/uploads share positions 77 & 78.  The letter 
  1452. "U" in the first position shows that the file is currently "UNLOCKED".  The 
  1453. letter "L" in the first position indicates that the file is "LOCKED".
  1454.  
  1455. 6.2  RBBS-PC Text Files
  1456. -----------------------
  1457. Similarly, the RBBS-PC "text" files are both static and variable in length.  
  1458. The "text" files used by RBBS-PC are:
  1459.  
  1460. BULLET   - This is a text menu file that is printed following the   WELCOME  
  1461. file  when a user first enters the system.  It must be present,  if "CONFIG  
  1462. Utility parameter # 43" is greater than 1.  It can also be called from  the  
  1463. main  menu  with the <B>ulletins command.  
  1464.  
  1465. BULLET1 --> n -- There can be 1 to 99 "bulletins".   RBBS-PC will check for 
  1466. the  existence  of  a  file whose name consists  of  the  prefix  given  by 
  1467. parameter  44  of  CONFIG.BAS appended with the bulletin number  and  using 
  1468. parameter 41 of CONFIG.BAS to determine the drive to find the bulletin on. 
  1469.  
  1470. Users  can elect to have displayed two different types of "graphics"  files 
  1471. for such standard RBBS-PC system files as HELPxx,  BULLET, MENU's, etc.  In 
  1472.  
  1473.                        Page 23 of 77
  1474. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1475.  
  1476. order  for a user to see either of these two different types of  "graphics" 
  1477. files, the following must have occured:
  1478.  
  1479.           logged  on  N/8/1,
  1480.           requested graphics (either full ASCII or "color/music"), and
  1481.           the file must exist and the filename end in either:
  1482.                "G" for files containing the graphic ASCII characters
  1483.                     whose values are in the range 129 to 256, or
  1484.                "C" for files containing combinations of the full
  1485.                     256 characters that the caller's communication 
  1486.                     software can interpert and translate into colors
  1487.                     and music (i.e. PC-TALK.666, QMODEM, and EXECPCT).
  1488.  
  1489. RBBS-PC  will check to see if a "graphics" files exists by appending a  "G" 
  1490. or "C" to the file name.  If such a file can't be found, RBBS-PC will check 
  1491. to see if a non-graphics file exists (i.e.  one without the "G").   RBBS-PC 
  1492. will  display the first file it finds or a message that the file can not be 
  1493. found.
  1494.  
  1495. DIR.DIR,  aa.DIR  -->  nn.DIR  -- At  least  one  DIR.DIR file  has  to  be 
  1496. present  on  one  of  the  drives available for downloading. Alternative 
  1497. directories,  aa.DIR --> nn.DIR (see section 10),  should be meaningful and  
  1498. should be reflected in the DIR file.
  1499.  
  1500. FILESEC - is more fully described in the section on security.
  1501.  
  1502. HELP01  -->  HELP09  -- Represent the nine on-line help files  for  RBBS-PC 
  1503. users.  They are associated with the following areas:
  1504.  
  1505. HELP01 -text   file that is printed when <H>elp is requested on  the   main  
  1506.         function prompt.  It contains  command information.
  1507.  
  1508. HELP02 -text   file  that  is printed when a <?> is entered  on  the   main  
  1509.         function   prompt.    It is also printed following the NEWUSER file  
  1510.         for  new  users and tells users what functions the RBBS supports. 
  1511.  
  1512. HELP03 -text  file that describes the message protection options when   <?>  
  1513.         is   entered  after  the  message <E>nter command is  executed   at  
  1514.         the  main  message menu.
  1515.  
  1516. HELP04 -text  file that describes the message entry subfunctions when   <?>  
  1517.         is entered at the subfunction prompt.
  1518.  
  1519. HELP05 -text   file that is printed when <H>elp is entered  in  the   files  
  1520.         subsystem function prompt.
  1521.  
  1522. HELP06 -text   file  that is printed when a <?> is entered  in  the   files  
  1523.         subsystem function prompt.
  1524.  
  1525. HELP07 -text   file printed when <H>elp is requested at the  message   read  
  1526.         prompt.
  1527.  
  1528. HELP08 -text   file  printed  when  <H>elp is  requested  in  the   utility  
  1529.         subsystem function prompt.
  1530.  
  1531. HELP09 -text file printed when <H>elp is requested for type of graphics a
  1532.         user wants (none, ASCII, color/music).
  1533.  
  1534. MENU1->5  -- contain  the  various commands for  the  subsystems.   It   is  
  1535. recommended  that these be placed on an electronic disk drive  (i.e.   RAM) 
  1536.  
  1537.                        Page 24 of 77
  1538. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1539.  
  1540. rather than on a floppy or hard drive.
  1541.  
  1542. NEWUSER  - This is a text file that is displayed for new users just  before  
  1543. registration occurs.  
  1544.  
  1545. PASSWRDS - is more fully described in the section on security.
  1546.  
  1547. TRASHCAN  - is  a  text  file  that contains names  that  the  SYSOP  finds 
  1548. objectionable and does not want used as either a users first or last  name.  
  1549. RBBS-PC uses this file, if it exists, to deny access to anyone using one of 
  1550. these names for either their first or last name.
  1551.  
  1552. WELCOME - This is a text file that is printed when a user first enters  the  
  1553. system.   It  must be present,  and it should be modified to identify  your  
  1554. system.
  1555.  
  1556. CONFENCE - This is a text file that is printed when a user selects the J)oin
  1557. function from the main menu.  It should be created using your favorite text
  1558. editor and should contain a list of the conferences that you have on your
  1559. system.
  1560.          
  1561. 7.0 USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC CPC12
  1562. ---------------------------------------------------------
  1563. The RBBS-PC.DEF file you get (which,  if you don't have it  originally,  is  
  1564. created  for you by the CONFIG.BAS program) contains the program's  default  
  1565. operating  parameters  and values.  When you run the CONFIG.BAS program  to  
  1566. either  create RBBS-PC.DEF or to update it,  you can change many  of  these  
  1567. parameters  to meet your needs.  Certain parameters which control  critical  
  1568. operations  of the programs are embedded in the RBBS program and should not  
  1569. be normally be changed by the system operator.  Unless a value or parameter  
  1570. is  noted  here,  it  should be changed only  with  great  forethought  and  
  1571. caution.
  1572.  
  1573. CONFIG.BAS, unlike Gaul, is divided into eight parts or screens.  They are:
  1574.  
  1575.      Screen         Description
  1576.         1           Global RBBS-PC Parameters (Part 1 of 2)
  1577.         2           Global RBBS-PC Parameters (Part 2 of 2)
  1578.         3           Parameters for RBBS-PC "text" files
  1579.         4           Parameters for RBBS-PC "system" files
  1580.         5           Parameters for RBBS-PC "doors"
  1581.         6           Parameters for RBBS-PC Security
  1582.         7           Parameters for Multiple RBBS-PC's and "conferences"
  1583.         8           RBBS-PC Utilities
  1584.  
  1585. The user may scroll forward or backward through the 8 screens of parameters 
  1586. in CONFIG.BAS using the PgUp and PgDn keys on the  keyboard.   Additionally 
  1587. users  may go directly to a specific screen by pressing a function key  (F1 
  1588. through F8) coressponding to the page to be selected.  To terminate CONFIG, 
  1589. users need only press the "End" key on the keyboard.
  1590.  
  1591. The compiled version of CONFIG.BAS can be invoked with the command:
  1592.  
  1593.          CONFIG.EXE
  1594.  
  1595. This assumes that the compiled version of CONFIG.BAS,  CONFIG.EXE is on the 
  1596. default  disk drive.   CONFIG.BAS will write the RBBS-PC  definition  file, 
  1597. RBBSxPC.DEF to the default drive.
  1598.  
  1599.  
  1600.  
  1601.                        Page 25 of 77
  1602. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1603.  
  1604. 7.1 Global RBBS-PC Parameters (Part 1 of 2)
  1605. -------------------------------------------
  1606.     7.1.1 SYSOP's Name and Password for Remote Access.
  1607.     --------------------------------------------------
  1608.     Parameters   1-4  request the RBBS system operator's (SYSOP) name   and  
  1609.     dual  passwords.    When  logging onto the system remotely,   the SYSOP 
  1610.     can log  on  using  Password #1 for his first name and Password #2  for 
  1611.     his last  name,  in  which  case the system will recognize him as SYSOP 
  1612.     and  allow  him  to perform  all the SYSOP functions even as  a  remote 
  1613.     user.    The  SYSOP  name  is  used  to   insure  that  users  are  not 
  1614.     attempting  to  access  RBBS-PC using the SYSOP name  hoping to  get  a 
  1615.     higher access level.   Attempting to logon using the  SYSOP  name  will  
  1616.     result   in  "LOGON  DENIED"  and a posting of  the  attempt   in   the  
  1617.     CALLERS file.    If you want to eliminate anyone from logging on as the 
  1618.     SYSOP, you  can simply reply with a "null" (i.e.  a carriage return) to 
  1619.     Password #1 and  Password #2.
  1620.  
  1621.     7.1.2 Password to Locally Take Over RBBS-PC as SYSOP
  1622.     ----------------------------------------------------
  1623.     The ESC key is used to log on in local SYSOP mode.  Parameter 5  allows  
  1624.     a  password to be required if someone hits  Esc  on  the   keyboard  of 
  1625.     the  PC running RBBS-PC before they are considered a local  SYSOP.   If 
  1626.     you  enter NONE, no password is required.
  1627.  
  1628.     7.1.3  SYSOP's default sign-on mode 
  1629.     -----------------------------------
  1630.     Parameter   6  sets  the system operator's sign-on mode as  EXPERT   or  
  1631.     NOVICE.    Unless you a very familiar with the RBBS-PC CPC12's  command 
  1632.     structure,   the  SYSOP's  sign-on mode should be NOVICE.
  1633.  
  1634.     7.1.4 SYSOP's "office" hours
  1635.     ----------------------------
  1636.     Parameter 7 is the SYSOP's "office  hours" (i.e.   when he can be paged 
  1637.     by a user).   The IBM PC's bell is rather  insistent,   and these hours 
  1638.     should be set to match when you will be  within  ear-shot of the  RBBS-
  1639.     PC.    The  times are set using a 24-hour military clock  (i.e.   10:00 
  1640.     P.M.   is  2200  hours).    NOTE:  These  hours can  be  overridden  by  
  1641.     activating the page bell (F4). 
  1642.  
  1643.     7.1.5 Use of Printer Bell
  1644.     -------------------------
  1645.     Parameter  8  allows allows the SYSOP to elect to have the bell on  the 
  1646.     printer  sounded (it is usually louder than the PC's) when he is  being 
  1647.     "paged".
  1648.  
  1649.     7.1.6 Number of Rings RBBS-PC Waits Before Answering
  1650.     ----------------------------------------------------
  1651.     Parameter   9   specifies the number of rings to answer the  phone  on.  
  1652.     Specifying  0  means that RBBS-PC will answer the phone as soon  as  it 
  1653.     rings.   Specifying  a  number greater than 2 means that  RBBS-PC  will 
  1654.     either:
  1655.  
  1656.     1.  wait until the number of rings specified to answer the phone, or
  1657.  
  1658.     2.  answer the next call after the current one after the number of
  1659.         rings specified providing the next call comes within 45 seconds
  1660.         after the first call stops ringing the phone (i.e RINGBACK).
  1661.  
  1662.     Specifying a number greater than one is only useful when a single phone 
  1663.     line  can  receive a mixture of both voice (i.e.  callers who  wish  to 
  1664.  
  1665.                        Page 26 of 77
  1666. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1667.  
  1668.     speak  with  the  SYSOP)  and  data calls  (i.e.  for  RBBS-PC)  on  an 
  1669.     unscheduled basis.   In this type of environment (i.e.  a random mix of 
  1670.     voice and RBBS-PC calls), there are two ways a SYSOP can set up RBBS-PC 
  1671.     so  that  RBBS-PC can automatically determine if the call  is  for  the 
  1672.     SYSOP or for RBBS-PC.
  1673.  
  1674.     First, the SYSOP can establish the rule that if he is unable to come to 
  1675.     the phone, then RBBS-PC will answer it if the phone rings the number of 
  1676.     times specified in option 9.  Callers can let the phone ring and (if it 
  1677.     is  not answered by a person within some agreed on number  rings)  know 
  1678.     that  it will be answered by RBBS-PC.   This is useful to those who may 
  1679.     have  either  a  hearing or speech problem and are unable  to  use  the 
  1680.     telephone conviently for voice communications by themselves.
  1681.  
  1682.     A second approach is the more classic,  "ring-back" approach.   RBBS-PC 
  1683.     can  be  told to NEVER answer the first call (it  can  ring  forever!).  
  1684.     However  should  the  caller  WAIT A MINIMUM OF  12  SECONDS  (a  Hayes 
  1685.     restriction) and call back no later than 45 seconds after the last ring 
  1686.     of  the  first call,  RBBS-PC will answer the call after the number  of 
  1687.     rings indicated in parameter 9 providing the number of rings are set to 
  1688.     between one and five.  If someone wants to make a voice  contact,  they 
  1689.     simply call and let the phone ring until it is answered.  If you have a 
  1690.     dedicated  line  for your RBBS-PC (either full time or on  a  scheduled 
  1691.     basis),  parameter 9 should be set to ZERO.
  1692.  
  1693.     7.1.7 Drive Available for Uploading
  1694.     -----------------------------------
  1695.     Parameter 10  specifies  the  letter  of the  single  drive   available  
  1696.     that this copy of RBBS-PC can upload files to. When a file is uploaded, 
  1697.     the  file  specified  by  CONFIG parameter  11  will  be  automatically 
  1698.     appended  with the file name,  file size,   date of upload,  and  short 
  1699.     description as specified by the user.  
  1700.  
  1701.     7.1.8 Name of Directory to Update for Uploads
  1702.     ---------------------------------------------
  1703.     Parameter   #   11  of the CONFIG program asks for  the  name  of   the  
  1704.     directory   into   which  the  file   name,   file   size,   and   file  
  1705.     description  of  uploaded files can be recorded.   The default name  is 
  1706.     99.DIR  and   it  must  be a text file  on  the  drive  designated  for 
  1707.     uploading (see section 7.1.7).
  1708.  
  1709.     7.1.9 Drives Available for Downloading
  1710.     --------------------------------------
  1711.     Parameter 12 specifies the letters of the drives from which files   can  
  1712.     be   downloaded.    The  order in which they are specified is the order 
  1713.     in  which  the  drives will be searched.    If the order is BAC,   then 
  1714.     drive  B will  be  searched  first for the file,   then drive  A,   and 
  1715.     finally drive  C.    While  there can be duplicate files on each of the 
  1716.     drives,   the  first file  found,   will be the one downloaded  to  the 
  1717.     user.
  1718.  
  1719.     7.1.10 Prompt Sounds (can be changed by SYSOP from keyboard, too)
  1720.     -----------------------------------------------------------------
  1721.     Parameter  #  13 is the SYSOP'S preference for prompt sounds when input  
  1722.     is  required.  This applies to remote and local.
  1723.  
  1724.     7.1.11 Maximum Time on Per Session
  1725.     ----------------------------------
  1726.     Parameter   # 14 of the CONFIG program asks for the maximum amount   of  
  1727.     time  each  user is to be allowed on the system per session.    Set the 
  1728.  
  1729.                        Page 27 of 77
  1730. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1731.  
  1732.     number   of   minutes  to  whatever you are comfortable with,   but  72 
  1733.     minutes is  a  good  setting  for starting up.    Subsequently you  may 
  1734.     have to lower this  number  once  your number of callers increases,  in 
  1735.     order  to keep callers'  waiting  times reasonable.   This can also  be 
  1736.     made the maximum time on the system per  day.   As described in section 
  1737.     13.3,  each  security  level  can have it's own maximum time   on   the  
  1738.     system per session specified
  1739.  
  1740.     7.1.12 Limit Maximum Time on System Per Day
  1741.     -------------------------------------------
  1742.     You  may limit the maximum amount of time any single user can spend  on 
  1743.     your  system  each day via parameter 15 of CONFIG.  This is helpful  if  
  1744.     you   have  a  relatively  busy  RBBS and want to have as   diversified  
  1745.     group   of  callers as possible.    What this parameter does is to tell 
  1746.     RBBS-PC  to  keep  track of the total amount of elapsed time a user  is 
  1747.     on  RBBS each day.   Each  time he logs on the maximum amount  of  time 
  1748.     that  he  is  allowed  on the system  is  checked  against  this  daily 
  1749.     cumulative  total.   The time remaining in each  of  his session is the 
  1750.     difference.    When he exceeds this maximum and tries  to logon  again, 
  1751.     he is told that he has exceeded his allocated time for that  day and to 
  1752.     try again tomorrow.
  1753.  
  1754.     7.1.13 Months of Inactivity Before a User is Deleted
  1755.     ----------------------------------------------------
  1756.     Parameter  #  16 sets the number of months inactivity that must  elapse 
  1757.     before   a  user is deleted from the USERS file when the SYSOP  "packs" 
  1758.     the user file  (see section 7.8.2).
  1759.  
  1760.     7.1.14 Communication Port to be Used
  1761.     ------------------------------------
  1762.     Parameter   #  17 requests the user to specify the communication   port  
  1763.     that  RBBS-PC  will be using in order to determine if it is device COM1 
  1764.     or device  COM2 (the later is valid only for DOS 2.0 and above).
  1765.  
  1766.     7.1.15 Version of DOS RBBS-PC Will Run Under
  1767.     --------------------------------------------
  1768.     Parameter   18  allows  the SYSOP to specify the version of  DOS   that  
  1769.     RBBS-PC  will be running under.    When RBBS-PC is running this is  the 
  1770.     ONLY  indicator  used  by  RBBS-PC when it has to determine what  level 
  1771.     of DOS it is  running  under.   The  correctness of this parameter will 
  1772.     is very  significant  when  RBBS-PC  options are invoked using commands 
  1773.     specific  to  DOS  2.0 and above (i.e.   the  CTTY  command  for  SYSOP 
  1774.     function 7).
  1775.  
  1776.     7.1.16 Name of RBBS-PC
  1777.     ----------------------
  1778.     Parameter # 19 allows the SYSOP to specify the name of the RBBS-PC that 
  1779.     is to be displayed when a user first connects with the system and prior 
  1780.     to completing the logon process.
  1781.  
  1782. 7.2 Global RBBS-PC Parameters (Part 2 of 2)
  1783. -------------------------------------------
  1784.     7.2.1 Color Monitor's Foreground/Background/Border
  1785.     --------------------------------------------------
  1786.     Parameters   21   through 23 allow the SYSOP to specify the  colors  he  
  1787.     wishes  for the foreground,   background,  and border.  When specifying 
  1788.     these  options  the BASIC manual's section describing the COLOR command 
  1789.     in  text  mode  should  be  consulted.    This is useful  when  running 
  1790.     multiple RBBS-PC's and you want a handy way of determine which  RBBS-PC 
  1791.     it  is  that  you  are  viewing  on  the  screen.    This   option   is 
  1792.  
  1793.                        Page 28 of 77
  1794. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1795.  
  1796.     specifically  used  to indicate the status of whether  "RING-BACK"   is 
  1797.     activated  (i.e.  the RBBS-PC.DEF file with "ring-back"  enabled  would 
  1798.     have  a  different  border than the color border defined in  the  RBBS-
  1799.     PC.DEF file for a dedicated line.)
  1800.  
  1801.     7.2.2 Selecting the Modem Speaker On or Off
  1802.     -------------------------------------------
  1803.     There  are  times  when the SYSOP no longer wants  the  speaker  to  be  
  1804.     activated  when  a user logs on.    The noise can drive anyone nutty on 
  1805.     a  busy  RBBS-PC  bulletin  board (especially late at night).    Option 
  1806.     24 allows the SYSOP to  keep the modem speaker turned off at all times.
  1807.  
  1808.     7.2.3 Reminding Users of Messages They Left
  1809.     -------------------------------------------
  1810.     Option  25 allows the SYSOP to remind users not only of  the   messages  
  1811.     that  might   be for them but also messages that they  may  have  left.   
  1812.     This  should   be enough of a nuisance to insure that users  do  delete 
  1813.     some of the  message  that they have left and help to keep the MESSAGES 
  1814.     file to a minimum.
  1815.  
  1816.     7.2.4 Remind Users of Uploads and Downloads
  1817.     -------------------------------------------
  1818.     Parameter   26  allows the SYSOP to elect to remind users of how   many  
  1819.     files  that they have downloaded and uploaded.
  1820.  
  1821.     7.2.5 Remind Users of Their Profile Preferences
  1822.     -----------------------------------------------
  1823.     Parameter  27  allows a SYSOP to always remind users  when  they  first 
  1824.     logon  of  the preferences they have selected for such things  as  file 
  1825.     transfer protocol, graphics, nulls, etc.
  1826.  
  1827.     7.2.6 Default User Page Length
  1828.     ------------------------------
  1829.     Parameter   28 allows the SYSOP to establish a default page length  for 
  1830.     users  when they logon.    A 23 line page length is the  default,   but 
  1831.     the  SYSOP can  set  it  to a number between 0 and 255.    If set to 0,  
  1832.     the user  will  receive continuous output.
  1833.  
  1834.     7.2.7 Maximum Number of Lines Per Message
  1835.     -----------------------------------------
  1836.     Parameter  29 allows the SYSOP to specify (within the range of 1 to 30) 
  1837.     the maximum number of lines allowed in each message.
  1838.  
  1839.     7.2.8 Requiring non-ASCII Protocol for Binary Files
  1840.     ---------------------------------------------------
  1841.     Option  30 allows the SYSOP to tell RBBS-PC that files ending in binary 
  1842.     file  extensions (i.e.  .ARC,  .EXE,  .COM,  .OBJ, .WKS, .BAS, or whose 
  1843.     second letter of  the  extension is Q) can not be downloaded unless the 
  1844.     user selects  XMODEM or MNP.   This will hopefully eliminate some  user 
  1845.     problems before they occur.   IBM's  BASIC  interpreter's  SAVE command 
  1846.     default  is to  write  files in a special binary format (also  referred 
  1847.     to as 'tokenized') because they require much less disk space.
  1848.  
  1849.     7.2.9 MICROCOM's MNP Protocol
  1850.     -----------------------------
  1851.     Option  31 allows MNP to be optional within RBBS-PC.   Some SYSOP's may 
  1852.     not  wish  to  provide  their users with the  choice  of  MNP  protocol 
  1853.     (especially  if  they are employed by a company that  has  a  competing 
  1854.     protocol).    RBBS-PC's    features  and  growth  are  designed  to  be 
  1855.     "additive."  This parameter allows each SYSOP to decide if MNP protocol 
  1856.  
  1857.                        Page 29 of 77
  1858. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1859.  
  1860.     is to be available for file transfers.  Microcom's error-free protocol, 
  1861.     MNP,  is available for file transfer beginning with version CPC12-4A of 
  1862.     RBBS-PC.  The RBBS-PC.EXE file includes code from the MNP library.  The 
  1863.     MNP  library file provided with RBBS-PC is done so under the  following 
  1864.     condition:
  1865.     
  1866.     "The  MNP  library  file provided with RBBS-PC  is  the  exclusive 
  1867.     proprietary  property  of  Microcom,  Inc.  and  this  copyrighted 
  1868.     program material is supplied by Microcom exclusively for use  with 
  1869.     the  RBBS-PC  bulletin board system.   Inclusion of  library  code 
  1870.     within RBBS-PC does not in any way grant a license to the Microcom 
  1871.     Networking  Protocol  (MNP).   The use of the RBBS-PC MNP  library 
  1872.     code modules or MNP in any product other than the RBBS-PC  program 
  1873.     is  a  violation  of  Microcom's proprietary  rights  in  the  MNP 
  1874.     technology."
  1875.  
  1876.     See  section  18.0 of the documentation for the special  considerations 
  1877.     for linking RBBS-PC with the MNP library.
  1878.  
  1879.     7.2.10 Omitting First Level Directory in "New" Command
  1880.     -----------------------------------------------------
  1881.     Option   32 allows the SYSOP to exclude the primary directory (DIR.DIR) 
  1882.     from  the   search  done by the New command.    If  you  have  multiple  
  1883.     directories   (i.e.   RBBS.DIR  through  BASIC.DIR),   any dates in the 
  1884.     primary directory would not be  of  files.   The  "New"  command (as in 
  1885.     "What new files have been  put  on  the  download  directories since  I 
  1886.     was  last on?") search each line of each  file  whose extension is  DIR 
  1887.     for  a  date  field.   Since the first level directory  is  normally  a 
  1888.     listing  of the other directories and their general subject  areas,  it 
  1889.     is advisable to omit the first level directory from the "New" command.
  1890.  
  1891.     7.2.11 Omitting Upload Directory in "New" Command
  1892.     ------------------------------------------------
  1893.     Option   33   allows the SYSOP to exclude the directory on which  users  
  1894.     place   the information on their uploads (i.e.  99.DIR) from the  "New" 
  1895.     command.    As  some  SYSOP's wish to preview or otherwise keep private 
  1896.     the  uploads  before  putting  them  on the download directories,  
  1897.     this  acts as  a  further  insurance against unauthorized access  of  a 
  1898.     "private" upload directory.
  1899.  
  1900.     7.2.12 Making System Welcome Interruptable
  1901.     ------------------------------------------
  1902.     Option    34  allows   the  SYSOP  to  make   the   system    "welcome"   
  1903.     file    interruptable.    The default is that YES it is  interruptable.   
  1904.     However,  if   the SYSOP feels too many people are bypassing it and  it 
  1905.     contains  essential  information,   the SYSOP can set this parameter to 
  1906.     NO  (i.e.  the user can not  suspend or cancel the listing of this file 
  1907.     at his terminal with a CTRL S or  CTRL K).
  1908.  
  1909.     7.2.13 Making System Bulletins "Optional"
  1910.     -----------------------------------------
  1911.     Parameter   35   is  intended to allow the SYSOP to  indicate  if   the  
  1912.     system  bulletins are to be an option for users when they log on.
  1913.  
  1914.     7.2.14 Is RBBS-PC running on a non-IBM PC?
  1915.     ------------------------------------------
  1916.     Option 36 is designed to allow RBBS-PC to run on some  "IBM-compatible" 
  1917.     PC's that make use of  unused interrupts.  RBBS-PC checks to see if the 
  1918.     unused interrupt X'7F' is non-zero.   If it is, RBBS-PC thinks that the 
  1919.     software product,  MultiLink (from The Software Link,  Inc.) is present 
  1920.  
  1921.                        Page 30 of 77
  1922. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1923.  
  1924.     and issues the appropriate MultiLink calls.   Obviously if this is  not 
  1925.     the case,  strange and unpredictable things happen resulting in RBBS-PC 
  1926.     not working.  The COMPAQ+ is just such an example of this syndrome.
  1927.  
  1928.     7.2.15 Issuing Modem Commands Between Rings
  1929.     -------------------------------------------
  1930.     Option  37  allows  the SYSOP to tell RBBS-PC either to wait  to  issue 
  1931.     commands  in between rings or to issue modem commands  without  waiting.  
  1932.     Some  modems can not both handle the telephone ringing and accept modem 
  1933.     commands simultaneously.  Other modems, like the Hayes, can handle such 
  1934.     simultaneous demands.  For these later (i.e. Hayes, Prometheous, Multi-
  1935.     Tech, etc.) this option should be set to "NO." 
  1936.  
  1937.     7.2.16 Baud Rate to Initially Open Modem At
  1938.     -------------------------------------------
  1939.     Some 2400 baud modems (like the Hayes) MUST be initially opened at 2400 
  1940.     baud  because  they can only "bump down" when  automatically  detecting 
  1941.     baud rate when answering the phone (i.e. from 2400 down to 1200 down to 
  1942.     300).  Parameter  38 allows the SYSOP to select the baud rate at  which 
  1943.     RBBS-PC is to initially open the modem at.
  1944.  
  1945.     7.2.17 Seconds Waited Before Logging Off Idle Users
  1946.     ---------------------------------------------------
  1947.     The  SYSOP  can select the number of seconds that RBBS-PC will allow  a 
  1948.     user to be "idle" (i.e.  not entering or receiving data) via  parameter 
  1949.     39.  
  1950.  
  1951. 7.3 Parameters for RBBS-PC "text" Files
  1952. ---------------------------------------
  1953.     7.3.1 Drive Containing RBBS-PC "Bulletins"
  1954.     ------------------------------------------
  1955.     Parameter 41 indicates the disk drive on which RBBS-PC is to search for 
  1956.     bulletins when a user requests to see them.
  1957.  
  1958.     7.3.2 Name of File Describing the "Bulletins"
  1959.     ---------------------------------------------
  1960.     This  is  the text file that is shown to a user if  bulletins  are  not 
  1961.     optional (see parameter 35) or if the user replies "L" when notified of 
  1962.     how many bulletins exist (see parameter 43).   This file should contain 
  1963.     a list of the bulletins (i.e. 1-99) and a brief one-line description of 
  1964.     the contents of each (i.e. "New Release of RBBS-PC").
  1965.  
  1966.     7.3.3 Number of System Bulletins
  1967.     --------------------------------
  1968.     Parameter 43 allows a SYSOP to have from 0 to 99 "bulletins."  If there 
  1969.     are  0  bulletins  a  user is notified that  there  are  no  bulletins.  
  1970.     Bulletins should be brief, informative, and timely.  I personally think 
  1971.     that there should be very few bulletins and that they should be changed 
  1972.     often if users are to be enticed to look at them.
  1973.  
  1974.     7.3.4 Prefix Used to Name Bulletin Files
  1975.     ----------------------------------------
  1976.     Parameter 44 provides the SYSOP with the flexibility to make the prefix 
  1977.     of the bulletins anything he wants (i.e. BULLET).  To this is added the 
  1978.     number  (i.e.  BULLET7  for  bulletin  number 7)  and  the  disk  drive 
  1979.     designated  in  parameter  41  is  searched  for  the  bulletin  number 
  1980.     requested when some asks to see a bulletin.   If the file is not found, 
  1981.     the  user is so informed.  If a "graphics" equivalent is found and  the 
  1982.     user  has signed on N/8/1 and requested graphics,  the graphics version 
  1983.     of the bulletin is displayed (i.e. BULLET7G).
  1984.  
  1985.                        Page 31 of 77
  1986. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  1987.  
  1988.     7.3.5 Drive Containing On-Line Help Files
  1989.     -----------------------------------------
  1990.     Parameter 45 indicates the disk drive on which RBBS-PC is to search for 
  1991.     to  find  RBBS-PC's on-line "help" files whenever a user asks for  help 
  1992.     within a specific subsystem.
  1993.  
  1994.     7.3.6 Prefix Used to Name "Help" Files
  1995.     --------------------------------------
  1996.     There  are  nine on-line "help" files used by RBBS-PC as  described  in 
  1997.     section  6.2  previously.   The  SYSOP may chose  to  have  them  named 
  1998.     something  other than HELP01 through HELP08.   Parameter 46 allows  the 
  1999.     SYSOP  to  pick up to a seven character prefix to which the  numbers  1 
  2000.     through  9 will be appended.   This file name is what RBBS-PC will look 
  2001.     for  on the drive specified in parameter 45 when a user asks  for  help 
  2002.     on-line.   As with "bulletins", if a "graphics" equivalent is found and 
  2003.     the  user  has  signed on N/8/1 and requested  graphics,  the  graphics 
  2004.     version of the help file is displayed (i.e. HELP7G).
  2005.  
  2006.     7.3.7 Name of "NEWUSER" file
  2007.     ----------------------------
  2008.     This  is the text file that each new user sees when they first logs  on 
  2009.     and before they "register" themselves in RBBS-PC's USERS file.   A user 
  2010.     sees  it once and only once during his first session.   It can  contain 
  2011.     anything that you want it to,  but a brief explanation of your  Board's 
  2012.     purpose,  "rules",  etc. might be appropriate.  Parameter 47 allows the 
  2013.     SYSOP to give the file any name he wants.
  2014.  
  2015.     7.3.8 Name of "WELCOME" file
  2016.     ----------------------------
  2017.     This is the text file that each user sees EVERY time they log on.  Keep 
  2018.     it  brief!   RBBS-PC will look for a "graphics" equivalent if the  user 
  2019.     qualifies for graphic displays (i.e. it will display the file HELLOG in 
  2020.     lieu  of HELLO).   Parameter 48 allows the SYSOP to tailor this  file's 
  2021.     name to his own tastes.
  2022.  
  2023.     7.3.9 Name of File Describing File Directories
  2024.     ----------------------------------------------
  2025.     See  Section 10.0 for a description of file directories -- they have no 
  2026.     relation  to  DOS  2.x and above "sub-directories!"   Since  the  BASIC 
  2027.     compiler  Version  1.0  supplied by IBM doesn't recognize DOS  2.x  and 
  2028.     above "sub-directories",  RBBS-PC can't.  This is an IBM limitation not 
  2029.     an RBBS-PC one!   Most SYSOP's categorize the files that are  available 
  2030.     for   downloading  into  general  groups  (games,   utilities,   etc.).  
  2031.     Parameter  49  allows the SYSOP to name the file that  describes  these 
  2032.     groupings anything he wants.
  2033.  
  2034.     7.3.10 Name of SYSOP's Command Menu
  2035.     -----------------------------------
  2036.     Parameter  50 allows the name of the text file containing the  commands 
  2037.     allowed  those with SYSOP privileges to be any name he wants it to  be.  
  2038.     Since  such files are constantly accessed,  it is recommended that  the 
  2039.     "menus"  be  placed in a RAM disk in order to cut down on the wear  and 
  2040.     tear of your disk drives.
  2041.  
  2042.     7.3.11 Name of Messages Subsystem Command Menu
  2043.     ----------------------------------------------
  2044.     Parameter  51 allows the name of the text file containing the  commands 
  2045.     available  to those in the "messages" subsystem to be any name he wants 
  2046.     it to be.   Since such files are constantly accessed, it is recommended 
  2047.     that  the "menus" be placed in a RAM disk in order to cut down  on  the 
  2048.  
  2049.                        Page 32 of 77
  2050. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2051.  
  2052.     wear and tear of your disk drives.
  2053.  
  2054.     7.3.12 Name of File Subsystem Command Menu
  2055.     ------------------------------------------
  2056.     Parameter  52 allows the name of the text file containing the  commands 
  2057.     available to those in the "files" subsystem to be any name he wants  it 
  2058.     to  be.   Since such files are constantly accessed,  it is  recommended 
  2059.     that  the  "menus" be placed in a RAM disk in order to cut down on  the 
  2060.     wear and tear of your disk drives.
  2061.  
  2062.     7.3.13 Name of Utilities Subsystem Command Menu
  2063.     -----------------------------------------------
  2064.     Parameter  53 allows the name of the text file containing the  commands 
  2065.     available to those in the "utilities" subsystem to be any name he wants 
  2066.     it to be.   Since such files are constantly accessed, it is recommended 
  2067.     that  the "menus" be placed in a RAM disk in order to cut down  on  the 
  2068.     wear and tear of your disk drives.
  2069.  
  2070.     7.3.14 Menu that Lists Available Conferences
  2071.     --------------------------------------------
  2072.     Parameter  54  is  the name of the text file listing the names  of  the 
  2073.     conferences  that  are  available.   Conference  names  must  be  seven 
  2074.     characters  or less.   Additionally,  the SYSOP must have already  pre-
  2075.     formatted  the messages and users files associated with the conferences 
  2076.     (see section 16.0).
  2077.  
  2078.     7.3.15 File Containing Invalid User Names
  2079.     -----------------------------------------
  2080.     Parameter 55 is the name of the text file listing names that the  SYSOP 
  2081.     considers  inappropriate.   This file is used when a new user signs on.  
  2082.     The new users first and last name is checked,  individually against the 
  2083.     names in this file.
  2084.  
  2085.     The format of this file is as follows:
  2086.  
  2087.     <name>,
  2088.     An example of such a file would be:
  2089.  
  2090.     KILLER,
  2091.     MAN,
  2092.     THE,
  2093.     DOC,
  2094.     DOCTOR,
  2095.     DEATH 
  2096.  
  2097.     All  names  should be UPPER CASE!  If you create the file  using  IBM's 
  2098.     standard DOS text editor, EDLIN, each line should end with a comma.  If 
  2099.     you  create  the  file using COPY CON,  each line  should  end  with  a 
  2100.     carriage  return  (i.e.  the "enter" key).   The last line (when  using    
  2101.     COPY  CON) should end with F6 then carriage return.  BASIC  will  treat 
  2102.     either a comma or a carriage return as a field deliminator and you need 
  2103.     a  field  deliminator following each of the names.   If the above  file 
  2104.     existed,  any new user who logged and used the following names would be 
  2105.     denied access:
  2106.  
  2107.     Byte Killer
  2108.     Kilo Man
  2109.     Doctor Death
  2110.     PC Doctor
  2111.     The Best
  2112.  
  2113.                        Page 33 of 77
  2114. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2115.  
  2116.     7.3.16 Factor to Extend Session Time For Uploads
  2117.     ------------------------------------------------
  2118.     Parameter  56  allows  a SYSOP to "reward" users who  upload  files  by 
  2119.     adding some multiple of the elasped time it took for the file upload to 
  2120.     the  current  session time.   This should be used judiciously  as  some 
  2121.     users  may abuse this by repeatedly uploading COMMAND.COM or some other 
  2122.     meaningless file.  This only extends the user's current session and NOT 
  2123.     the elasped time he may be limited to per day via parameter 15.
  2124.  
  2125.     7.3.17 Default System Type for New Callers
  2126.     ------------------------------------------
  2127.     Parameter  57  allows a SYSOP to set the default system  type  for  new 
  2128.     users  to  something other than IBM PC  (i.e.  KAPRO,  COLUMBIA,  WANG, 
  2129.     etc.).  
  2130.  
  2131. 7.4 Parameters for RBBS-PC "system" Files
  2132. -----------------------------------------
  2133.     7.4.1 Name of "MESSAGES" file
  2134.     -----------------------------
  2135.     Parameter  61  allows the SYSOP to specify the file name for  the  file 
  2136.     used by RBBS-PC to hold the messages on the bulletin board.   This file 
  2137.     can  NOT have a qualifier because RBBS-PC appends the qualifier  ".BAK" 
  2138.     to the file name when "packing" the messages file.
  2139.  
  2140.     7.4.2 Name of the "CALLERS" file
  2141.     --------------------------------
  2142.     RBBS-PC  maintains  a  log of user activity on a  "callers"  file.   It 
  2143.     contains information on the date,  time,  mode,  of who logged on; what 
  2144.     they uploaded or downloaded; and any security violations or errors that 
  2145.     were  generated.   Parameter 62 allows the SYSOP to specify  the  fully 
  2146.     qualified name for the file that RBBS-PC uses for this log.
  2147.  
  2148.     7.4.3 Name of file containing "Comments" for the SYSOP
  2149.     ------------------------------------------------------
  2150.     Instead  of  leaving a "message",  a user may leave a comment  for  the 
  2151.     SYSOP  that  is readable only by the SYSOP.   Parameter 63  allows  the 
  2152.     SYSOP  to specify the fully qualified name for the file used by RBBS-PC 
  2153.     to store users' comments.
  2154.  
  2155.     7.4.4 Name of the "USERS" file
  2156.     ------------------------------
  2157.     RBBS-PC  keeps a profile of each user that logs on in a  "user  record" 
  2158.     (see Appendix A for a layout of this record).   Parameter 64 allows the 
  2159.     SYSOP to specify the file name for this file.  This file can NOT have a 
  2160.     qualifier because RBBS-PC appends the qualifier ".BAK" to the file name 
  2161.     when "packing" the users file.
  2162.  
  2163. 7.5 Parameters for RBBS-PC "Doors"
  2164. ----------------------------------
  2165.     7.5.1  Enabling the "Door" Subsystem
  2166.     ------------------------------------
  2167.     Parameter  81  allows the SYSOP to enable RBBS-PC to exit  to  whatever 
  2168.     "doors"  the SYSOP has set up into his system.   A "door" is  simply  a 
  2169.     batch  file that the SYSOP has created which he is willing to allow his 
  2170.     users  to have RBBS-PC exit to and which will then take control of  the 
  2171.     remote users communication port.
  2172.  
  2173.     7.5.2 Name of Menu that Lists the Available "Doors"
  2174.     ---------------------------------------------------
  2175.     Parameter 82 allows the SYSOP to specify the fully qualified file  name 
  2176.  
  2177.                        Page 34 of 77
  2178. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2179.  
  2180.     of the menu that lists the names of the "doors" available to his users.  
  2181.     RBBS-PC  checks this file to verify that the name of the door that  the 
  2182.     user requested is in the door's menu.  (See Section 12)
  2183.  
  2184.     7.5.3 File RBBS Builds Dynamically to Open a "Door"
  2185.     ---------------------------------------------------
  2186.     Parameter 83 allows the SYSOP to specify the fully qualified file  name 
  2187.     of  the file that RBBS-PC is to use when building a file to exit to and 
  2188.     invoke a "door."  This is also the same file name that is used when the 
  2189.     SYSOP exits to DOS.
  2190.  
  2191.     7.5.4 File to Re-invoke RBBS-PC when a "Door" Closes
  2192.     ----------------------------------------------------
  2193.     When  a door finishes RBBS-PC is re-invoked.   Parameter 84 allows  the 
  2194.     SYSOP  to  specify the fully qualified file name of the .BAT file  that 
  2195.     should  be used to re-invoke RBBS-PC (see section 11 &  12).   This  is 
  2196.     also  the  same  file  name that is used when the  SYSOP  returns  from 
  2197.     exiting to DOS.
  2198.  
  2199. 7.6 Parameters for RBBS-PC's Security
  2200. -------------------------------------
  2201.     7.6.1 Minimum Security Level to Get Into RBBS
  2202.     ---------------------------------------------
  2203.     Parameter   101 specifies the minimum security level a users needs   to  
  2204.     logon   onto  RBBS.    If  the default is less than this value  no  new  
  2205.     users   can   logon  on (i.e.  the board is  closed  to  pre-registered 
  2206.     users).  Since RBBS-PC  is  intended  to  facilitate  the free exchange  
  2207.     of   information,   you  are  strongly urged not to use RBBS-PC in this 
  2208.     way.
  2209.  
  2210.     7.6.2 Default Security Level for New Callers
  2211.     --------------------------------------------
  2212.     Parameter 102 specifies the security level that will be assigned to all  
  2213.     new  callers.   At  the very least it is recommended that this value be 
  2214.     equal  to   the security level assigned to the C>omments  and  G>oodbye 
  2215.     commands via option 109.
  2216.  
  2217.     7.6.3 Default Security Level for SYSOP
  2218.     --------------------------------------
  2219.     Parameter  103 allows you to specify the minimum security level a  user 
  2220.     must have to be considered an "assistant" SYSOP by RBBS-PC.   Even if a 
  2221.     user  has  a  high enough security level to see the  SYSOP's  menu  and 
  2222.     execute some or all of the SYSOP commands, the user will not be treated 
  2223.     as a SYSOP (i.e.  allowed to see the files upload/download when viewing 
  2224.     the CALLERS file) unless his security level is equal to or greater than 
  2225.     that specified by parameter 103.
  2226.  
  2227.     7.6.4 File of File Names with Download Security
  2228.     -----------------------------------------------
  2229.     Parameter  104 specifies the name of the file that contains a  list  of 
  2230.     file  names  that  CAN  NOT  BE  DOWNLOADED (even if they are  on   the  
  2231.     disks  that  are  available for downloading) unless the user supplies a 
  2232.     password  and/or  is at  a  specific  security level.   If you want  to 
  2233.     have  no file security at  all,   just put no file names in this  file.  
  2234.     If  you include a password with a file  name  all users (including  one 
  2235.     with SYSOP privileges) must be able to  give  the password in order  to 
  2236.     download  the file.   For a more detailed description of this file  and 
  2237.     how  it works,  see section 13.4 -- "How to Implement the Security  for 
  2238.     Download Files."
  2239.  
  2240.  
  2241.                        Page 35 of 77
  2242. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2243.  
  2244.     7.6.5 Minimum Security Level to See SYSOP's Menu
  2245.     ------------------------------------------------
  2246.     Parameter  105  prevents the SYSOP menu from being displayed  (even  if  
  2247.     the  user  has  a security level of a SYSOP as specified in option 103) 
  2248.     unless the user  is also at this security level. 
  2249.  
  2250.     7.6.6 Minimum Security Level to Use RBBS-PC "Doors"
  2251.     ---------------------------------------------------
  2252.     Parameter 106 allows the SYSOP to set the minimum security level a user 
  2253.     must  have to exit RBBS-PC via a "door".   This security level must  be 
  2254.     equal to or higher than the security level for the "D>oor" command (see 
  2255.     Parameter 110).
  2256.  
  2257.     7.6.7 Maximum # of Security Violations Before Lockout
  2258.     -----------------------------------------------------
  2259.     Parameter  107  allows  a maximum number of security  violations  (i.e.  
  2260.     attempts  to  download protected files) before the user is  logged  off 
  2261.     and locked out.
  2262.  
  2263.     7.6.8 Security Levels for Each Command
  2264.     --------------------------------------
  2265.     Parameters  108 through 111,  allow the SYSOP to set  up  the  security  
  2266.     levels  required to issue the commands in the SYSOP,   Main Menu,  File 
  2267.     Subsystem,  and  Utilities Subsystem (respectively).   All the commands 
  2268.     in each area can  be  given  the same security level  or,   optionally,  
  2269.     a specific command can  be  given a unique security level.
  2270.  
  2271.     7.6.9 File with Privileged Group Passwords
  2272.     ------------------------------------------
  2273.     Parameter  112 specifies  the file name which contains  the  privileged  
  2274.     group   passwords   that  allow  users  to  temporarily  change   their 
  2275.     security,   time  on  the system,   etc.  -- if the SYSOP has set it up 
  2276.     that way.   Callers shift to  a  group  password by changing passwords.  
  2277.     If  the  password  they  select is found in  the  file  containing  the 
  2278.     privileged  passwords,  their private logon password is  unchanged  and 
  2279.     they  receive the security level and/or time limit associated with  the 
  2280.     group  password.  If you have no group passwords,  just put nothing  in  
  2281.     this  file.    For a more detailed description of this file and how  it 
  2282.     works, see section 13.3 -- "How to Implement the Password File."
  2283.  
  2284.     7.6.10 Maximum # of Password Changes Per Session
  2285.     ------------------------------------------------
  2286.     Parameter 113 allows the SYSOP to specify the maximum number of times a 
  2287.     user  can change his passwords in a given session.
  2288.  
  2289.     7.6.11 Minimum Security for Temporary Password Changes
  2290.     ------------------------------------------------------
  2291.     Parameter  114  is the minimum security level required in order  for  a  
  2292.     user   to   temporarily change his security or  time on the system  via 
  2293.     privileged group passwords.
  2294.  
  2295.     7.6.12 Minimum Security to Overwrite Files on Uploads
  2296.     -----------------------------------------------------
  2297.     Parameter  115  allows  the  SYSOP to specify a security   level   that  
  2298.     has  the  privilege  of  overwriting  files (i.e.  files  that  already  
  2299.     exist)  when  uploading.
  2300.  
  2301.     7.6.13 Security Level of Conference "Viewers"
  2302.     ---------------------------------------------
  2303.     Parameter  116 allows the SYSOP to specify a temporary  security  level 
  2304.  
  2305.                        Page 36 of 77
  2306. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2307.  
  2308.     that  will be in effect when a user wishes to "view" a conference.   In 
  2309.     this  way  a user might be able to S>can  (i.e.  see  the  date,  time, 
  2310.     subject,  etc.)  of  the messages in a conference without having to  be 
  2311.     pre-registered in the conference.
  2312.  
  2313.     Not currently implemented (as of CPC12-5B).
  2314.  
  2315.     7.6.14 Security Level Exempt from Purge of USERS File  
  2316.     -----------------------------------------------------
  2317.     When the SYSOP "purges" the USERS file,  all users who have not  signed 
  2318.     on  within  the number of months specified in parameter 16 are  deleted 
  2319.     from  the file with the exception of those who have been  "locked  out" 
  2320.     and  those  whose  security  level is equal to  or  greater  than  that 
  2321.     specified in parameter 117.  
  2322.  
  2323. 7.7 Parameters for Multiple RBBS-PC's
  2324. -------------------------------------
  2325.     7.7.1 Maximum Number of Concurrent RBBS-PC's
  2326.     --------------------------------------------
  2327.     RBBS-PC  CPC12-5B  allows  multiple  RBBS-PC's  to  run  in  the   same 
  2328.     environment/network and share many of the same files.  If you ever plan 
  2329.     to  do  this  or if you are going to do this,  set this number  to  the 
  2330.     MAXIMUM number you ever envision running.  Up to 36 RBBS-PC's can share 
  2331.     the same files.   Depending on the environment,  4 to 5 copies of RBBS-
  2332.     PC's may turn out to be the operationally effective maximum.  Parameter 
  2333.     121  allows  you to specify the maximum number of  RBBS-PC's  that  the 
  2334.     MESSAGES file should be initialized for.
  2335.  
  2336.     7.7.2 Environment Running Concurrent RBBS-PC's
  2337.     ----------------------------------------------
  2338.     Parameter  122  allows the SYSOP to designate the type  of  environment 
  2339.     that  multiple  copies of RBBS-PC will be sharing files  in.   This  is 
  2340.     necessary so that RBBS can use the mechanism that is appropriate to the 
  2341.     specific  environment when sharing files.   RBBS-PC CPC12-5B  currently 
  2342.     can handle the following environments for multiple RBBS-PC's:
  2343.  
  2344.              1.  MultiLink (The Software Link, Inc.)
  2345.              2.  OmniNet (Corvus)
  2346.              3.  PC-Net (Orchid)
  2347.  
  2348.     7.7.3 Method RBBS-PC Uses to "Recycle" When Users Logoff
  2349.     --------------------------------------------------------
  2350.     Some   local  area  network  environments  are  not  designed  to  have 
  2351.     applications  constantly  branch  back to  the  beginning  and  re-open 
  2352.     already  open files.   If you are in this environment or simply want to 
  2353.     run  some external program after a users logs off or RBBS-PC  recycles, 
  2354.     parameter  123  allows  you  to elect  to  do  this.   If  you  specify 
  2355.     "internal",  RBBS-PC will function as it currently does and branch back 
  2356.     to  its beginning.   If you specify "system",  RBBS-PC will exit to DOS 
  2357.     and  (if  you  are running RBBS-PC out of a .BAT  file)  you  can  then 
  2358.     automatically  invoke any other "housekeeping" programs you want before 
  2359.     re-invoking  RBBS-PC.   It  should  be  noted  that  this  will  add  a 
  2360.     considerably delay to RBBS-PC's re-cycling time as RBBS-PC will have to 
  2361.     reloaded back into memory every time it re-cycles.
  2362.  
  2363.     7.7.4 Maximum Number of Records in the "USERS" File
  2364.     ---------------------------------------------------
  2365.     Like  the MESSAGES file,  the USERS file must also be static in  length 
  2366.     for RBBS-PC CPC12-5B.   Parameter 124 allows the SYSOP to set the  size 
  2367.     of  the USERS file.   RBBS-PC automatically keeps track of the  records 
  2368.  
  2369.                        Page 37 of 77
  2370. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2371.  
  2372.     available  for use in this file and does the necessary  "housekeeping."   
  2373.     When the USERS file get full (i.e. all its records are used up) and the 
  2374.     SYSOP  neither "packs" it nor increases the size of the  file,  no  new 
  2375.     users will be able to logon until one of these two events occurs.
  2376.  
  2377.     7.7.5 Maximum Number of Records in the "MESSAGES" File
  2378.     ------------------------------------------------------
  2379.     RBBS-PC CPC12-5B requires that the "Messages" file be static in length.  
  2380.     It  automatically keeps track of the next record available and does the 
  2381.     necessary housekeeping to maintain the integrity of the file. Parameter 
  2382.     125  allows the SYSOP to set the size of this  file.   CONFIG.BAS  will 
  2383.     automatically determine what size the current file is and will reformat 
  2384.     a pre-CPC12-3A MESSAGES file if it finds one.   If you do not  increase 
  2385.     the  size of your existing MESSAGES file,  no one will be able to leave 
  2386.     any new messages.  Similarly, when the MESSAGES file get full (i.e. all 
  2387.     its records are used up) and the SYSOP neither "packs" it nor increases 
  2388.     the size of the file,  no one will be able to leave a message until one 
  2389.     of these two events occurs.
  2390.  
  2391.     The  minimum size of the MESSAGES file is equal to 1 (The  "checkpoint" 
  2392.     record) + the maximum number of concurrent RBBS-PC's ("node" records) + 
  2393.     the maximum number of messages allowed X 5 (each messages is assumed to 
  2394.     use an average of five 128-byte records).   Therefore, if option 121 of 
  2395.     CONFIG  where 12 and option 126 of CONFIG where 50,  the minimum number 
  2396.     of  records that could be specified for option 125 is 263 ( 1 + 12 +  ( 
  2397.     50 *5 ) ).  
  2398.  
  2399.     7.7.6 Maximum Number of Messages Allowed
  2400.     -----------------------------------------
  2401.     Parameter   #  126 lets you set the maximum number of messages  on  the  
  2402.     system   that  you  will allow.    The number will have to be based  on 
  2403.     the  size   of  the  average  message on your  bulletin  board.    Most 
  2404.     messages  require  about  600  bytes  on the  average.    The  absolute 
  2405.     upper  limit on the number of messages  is  250.    If you specify  250 
  2406.     messages,  you can expect that the MESSAGES  file  will be preformatted 
  2407.     to more than 160K in size.
  2408.  
  2409.     7.7.7 Conference File Maintenance
  2410.     ---------------------------------
  2411.     Parameter  #  127  allows  "conference"  files  to  be  maintained.   A 
  2412.     "conference" consists of a message file and, if a "private" conference, 
  2413.     a   corresponding  users  file.   The name of  the  conference  can  be 
  2414.     anything  that  the  SYSOP  selects  but  can  not  be  longer  than  7 
  2415.     characters.   The  message file's name for a conference consists of the 
  2416.     conference  name  plus the characters "M.DEF".   The user  file's  name 
  2417.     assocated  with  "private" conferences consists of the conference  name 
  2418.     plus  the  characters "U.DEF".   Parameter # 127 allows  the  SYSOP  to 
  2419.     create, expand, or contract either or both of the files associated with 
  2420.     a  "conference."   This  occurs ONLY when the SYSOP "ENDs"  the  CONFIG 
  2421.     session  by pressing the key marked END.   Parameter # 127  allows  the 
  2422.     SYSOP  to  perform  all  the  functions on page  8  of  CONFIG  on  the 
  2423.     conference  that  he has named/selected with Parameter #  127.   For  a 
  2424.     further discussion of "conferences" see section 16.0.
  2425.  
  2426. 7.8 RBBS-PC SYSOP Utilities
  2427. ---------------------------
  2428.     7.8.1 Packing the "MESSAGES" file
  2429.     ---------------------------------
  2430.     The message file contains all messages for  the  RBBS-PC  system.    As 
  2431.     messages are killed they are only flagged as inactive.    Parameter 141 
  2432.  
  2433.                        Page 38 of 77
  2434. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2435.  
  2436.     should  be  used  periodically to recover the space occupied   by   the 
  2437.     killed messages.   After completion,   only the text of active messages  
  2438.     will  be  present and the old file will remain on the system  with  the 
  2439.     name of  MESSAGES.OLD.   Also, you will need enough free disk space for 
  2440.     the MESSAGES  and MESSAGES.BAK files when packing the MESSAGES file  or 
  2441.     the  packing cannot  be  performed;   if  enough space is not found the 
  2442.     packing   will   abnormally  terminate and the MESSAGES  file  will  be 
  2443.     recovered.
  2444.  
  2445.     7.8.2 Rebuilding the "USERS" File
  2446.     ---------------------------------
  2447.     Parameter  142 removes deleted users and users who  have  not  been  on 
  2448.     the system within the number of months specified using parameter 16  in 
  2449.     CONFIG.   You   should   have  enough  free disk space  for  USERS  and 
  2450.     USERS.BAK or the  rebuilding  will abnormally terminate (the USERS file 
  2451.     will be restored).   It is important to note that beginning with CPC12-
  2452.     5A,  the  USERS  file  is  no longer a random  file  that  is  accessed 
  2453.     sequentially but now is a random file that is accessed directly.   When 
  2454.     a user logs on RBBS-PC "hashes" the users name to find his user  record 
  2455.     directly  in  the USERS file.   That is why the USERS file's size is  a 
  2456.     power of 2 (i.e.  256,  1024,  etc.).   This allows users to logon much 
  2457.     more quickly to RBBS-PC's that have a very large number of users.
  2458.  
  2459.     7.8.3 Printing Message Header Records
  2460.     -------------------------------------
  2461.     Parameter  143  will  display  the message headers   of  all  messages,  
  2462.     active  and killed,   that are present in the message file.    This  is 
  2463.     left  over from one of the many "debugging" stages of RBBS-PC prior  to 
  2464.     CPC09.   Following  the policy of making all changes  "additive",  this 
  2465.     function has been retained.  It may help some SYSOP's recover from disk 
  2466.     hardware failures.
  2467.  
  2468.     7.8.4 Renumbering Messages
  2469.     --------------------------
  2470.     Parameter 144 permits messages to be renumbered  sequentially  starting  
  2471.     from a specified message  using  whatever  starting  number  you  wish.   
  2472.     Please note that there is not much error checking to be  sure  that the 
  2473.     new numbers do not duplicate those of lower numbered  active  messages.   
  2474.     When complete,  the next message to be created will be the next  higher 
  2475.     number  from  the resequence.   Unpredictable results will occur  if  a 
  2476.     SYSOP creates messages with duplicate numbers!
  2477.  
  2478.     7.8.5 Repairing the MESSAGES file
  2479.     ---------------------------------
  2480.     Parameter  145  goes  through the MESSAGES file  and  reconstructs  the 
  2481.     chains  that  link  the messages together.   MESSAGES files  that  have 
  2482.     "blank" messages or abbreviated messages (i.e.  some lines of text  are 
  2483.     missing) can be repaired with this facility.  
  2484.  
  2485.     7.8.6 Initialize Hayes 2400 Firmware for RBBS-PC
  2486.     ------------------------------------------------
  2487.     Parameter  146 allows the SYSOP to set the Hayes 2400 firmware to match 
  2488.     RBBS-PC's requirements as described in section  8.   Additionally,  the 
  2489.     SYSOP  may elect to allow or not to allow remote users to use the Hayes 
  2490.     2400 that RBBS-PC is utilizing for remote digital loop back testing.
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.                        Page 39 of 77
  2498. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2499.  
  2500. 8.0 THE HAYES MODEM SWITCH SETTING AND CONSIDERATIONS
  2501. -----------------------------------------------------
  2502. RBBS-PC is tested with a HAYES Smartmodem 1200 (i.e.  external). The switch 
  2503. settings on the modem must be as follows:
  2504.  
  2505.               switch -- 12345678
  2506.               setting - UUDDDUUD
  2507.  
  2508. Recognizing  that  there  are a number of "Hayes-compatible"  (and  not  so 
  2509. compatible)  modems  in  use,  this section is  intended  to  assist  those 
  2510. adventurous  souls  who chose to use such modems and need some guidance  on 
  2511. what  the  otherwise mystical Hayes switch settings  mean.   The  following 
  2512. table may be of some help:
  2513.  
  2514. Hayes        Setting            Function to RBBS-PC
  2515. Switch   Factory   RBBS-PC
  2516.  
  2517.   1       Down       Up       Allows RBBS-PC to control the modem using the
  2518.                               RS-232C DTR lead (pin 20).
  2519.  
  2520.   2        Up        Up       Not meaningful to RBBS-PC (could be down) and
  2521.                               is used to indicate if result codes are to be
  2522.                               English words or single digits.  RBBS-PC sets
  2523.                               this with the Hayes "V" command.  
  2524.  
  2525.   3       Down      Down      Not meaningful to RBBS-PC (could be down) and
  2526.                               is used to indicate if result codes are to be
  2527.                               sent to RBBS-PC.  RBBS-PC sets this with the
  2528.                               Hayes "Q" command.
  2529.  
  2530.   4        Up       Down      The modem does not echo characters unless
  2531.                               half-duplex is selected and the modem is on-
  2532.                               line. 
  2533.  
  2534.   5       Down      Down      Modem is NOT to answer incoming calls.  RBBS-
  2535.                               PC monitors the ring indicator (pin 22) to
  2536.                               determine if the phone is ringing.  If it is
  2537.                               RBBS-PC will issue the necessary commands to
  2538.                               the modem.
  2539.  
  2540.   6       Down       Up       RBBS-PC checks for the carrier signal using
  2541.                               the RS-232C Carrier Detect lead (pin 8).  If
  2542.                               carrier is lost, RBBS-PC hangs up the phone
  2543.                               and re-cycles to await the next call.
  2544.  
  2545.   7        Up        Up       Not really required by RBBS-PC.   However  in 
  2546.                               the "down" position, the telephone extension 
  2547.                               light will illuminate on a multi-line 
  2548.                               installation when the modem answers a call.
  2549.  
  2550.   8       Down      Down      Enables the Smartmodem 1200 to recognize the
  2551.                               Hayes commands issued by RBBS-PC.
  2552.  
  2553. These   switch  settings  do  not  have  to  be  changed  for  most   other  
  2554. communications software packages.  (You can leave the switches set as shown  
  2555. above if you use PC-TALK for your smart terminal  communications.  However,  
  2556. you will be advised to give the modem an "ATZ" command before using PC-TALK   
  2557. in  order  to reset the registers correctly.)  RBBS-PC should only be  used  
  2558. with  versions 123 and above of the Hayes Smartmodem 1200 and  version  247 
  2559. and above of the Hayes Smartmodem 2400.   Earlier versions  do  not  answer  
  2560.  
  2561.                        Page 40 of 77
  2562. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2563.  
  2564. the  telephone properly.    The ATI command will  cause  the  Smartmodem to 
  2565. tell you its version.
  2566.  
  2567. The  Hayes 300 modem doesn't function with RBBS-PC for reasons  that  Hayes 
  2568. has yet to figure out.   Hayes is now shipping an external modem called the 
  2569. Hayes 1200FE that has 10 switch settings.  To run RBBS-PC switches 9 and 10 
  2570. of  the  1200FE must be left up (the factory setting).   Hayes is also  now 
  2571. shipping  an  internal  modem called the Hayes 1200BFE that  has  6  switch 
  2572. settings.  To run RBBS-PC switches 4, 5, and 6 must be left up (the factory 
  2573. setting). 
  2574.  
  2575. 9.0 COMMUNICATION BUFFER
  2576. ------------------------
  2577. RBBS-PC  should  be operated with a 4096 byte  communications  buffer  when 
  2578. running  under  the  BASIC interperter.   RBBS-PC can run under  the  BASIC 
  2579. interperter  at 300 baud with a smaller buffer,   but 450  and  1200   baud  
  2580. operation   requires   4096  for uploads of large  ASCII  files.   This  is 
  2581. primarily  because  of  the  way  the  BASIC  interperter  performs  "house 
  2582. cleaning"  of it's string areas.   The BASIC command to execute RBBS is  as 
  2583. follows:
  2584.  
  2585.    BASICA RBBS-PC /C:4096
  2586.  
  2587. When running the compiled version of RBBS-PC (i.e.  RBBS-PC.EXE), it is not 
  2588. necessary  to  have  as  large a communications  buffer  because  the  code 
  2589. generated  by the IBM BASIC compiler is much more efficient when perfroming 
  2590. it's "house cleaning."   When compiling RBBS-PC CPC12, the compiler command 
  2591. is as follows:
  2592.  
  2593.    BASCOM RBBS-PC.BAS /E/C:4096/S/O;
  2594.  
  2595. Operation  with  a  smaller  buffer  may  result  in  communication  buffer  
  2596. overflows  and  loss  of data when using ASCII protocol for file transfers.  
  2597. Non-ascii  protocols  like XMODEM and MNP require only a 4,096 byte  buffer 
  2598. because  of  the  handshake   file   transfer   technique  employed.   When 
  2599. setting  up  the communications buffer,  be sure you   leave   enough  free 
  2600. memory for string manipulation.   BASICA (i.e. the BASIC interperter) needs 
  2601. at   least   2048  bytes  free  to  operate  properly  with  this  program.   
  2602. Anything  less   may   cause  the  program to  run  out  of  string  space,  
  2603. especially when a message is  being written.
  2604.  
  2605. When  specifying the size of the communications buffer,  remember that  the  
  2606. amount  of memory that will be reserved will be the number specified  times  
  2607. the  total number of communication ports.   Therefore if you have a  system  
  2608. with  two  communications  ports  and specify  4096,  4096  bytes  will  be   
  2609. allocated for EACH communications port even though each RBBS-PC only   uses  
  2610. one communications port.  Thus, the total reduction in string space will be  
  2611. 8K and not the 4K you might have expected.
  2612.  
  2613. 10.0  USING MULTIPLE FILE DIRECTORIES
  2614. -------------------------------------
  2615. With  the advent of CPC12.0,  multiple file directories for downloads  were  
  2616. possible.   A  file  directory IS NOT A DOS "SUBDIRECTORY!"  It is simply a 
  2617. text  file that  the  SYSOP  has  created  which has a one-line  entry  for 
  2618. each file available for  downloading  in the format:
  2619.  
  2620. file name   extension  xxxx  mm-dd-yy  description
  2621.  
  2622. that associates a size,  date and description for each file name/extension.   
  2623. There  are a few conventions regarding download directories.   They are  as  
  2624.  
  2625.                        Page 41 of 77
  2626. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2627.  
  2628. follows:
  2629.  
  2630.     o  The file directories must be text files.
  2631.     o  The file directories must have an extension of up to three
  2632.        characters.  The default extension is ".DIR".  The 8-character
  2633.        suffix can be anything you want as long as it is a valid
  2634.        DOS file name.
  2635.     o  There is only one file directory for uploads and it
  2636.        must be on the disk drive designated for uploads.
  2637.     o  Filename should start in column 1.
  2638.     o  Extension should start in column 10.
  2639.     o  Program size can be between columns 14 & 22.
  2640.     o  Date available for downloading must start in column 24 and
  2641.        should use MM-DD-YY or MM/DD/YY format.
  2642.     o  Description should start in column 34.
  2643.  
  2644. Most  SYSOP's tend to organize their file directories according to subject.   
  2645. The   primary  file  directory  usually  tells  how  you  list  the   other  
  2646. directories.  Logically, it looks like a tree structure as follows:
  2647.  
  2648.                             DIR.DIR
  2649.                                |
  2650.                                |
  2651.   --------------------------------------------------------------
  2652.   |       |        |       |      |       |      |       |     |
  2653. aa.DIR  bb.DIR  ............................................ zz.DIR
  2654.  
  2655. The suffixes aa through zz can be anything you want.   Most RBBS-PC SYSOP's 
  2656. use numbers  (i.e. 1.DIR, 2.DIR, etc.).  The command L;2 would list 2.DIR.
  2657.  
  2658. The  SYSOP  has the option of letting his users know the name of  the  file  
  2659. directory for uploads.  Some SYSOPS do and some don't. You may exclude both  
  2660. the   directory  of directories and the upload directory from the list  new  
  2661. function  (N) within the file subsystem (see sections 7.2.10 and 7.2.11). 
  2662.  
  2663. 11.0  SETTING UP ".BAT" FILES FOR RBBS-PC
  2664. -----------------------------------------
  2665. Many SYSOPS have set up batch files to automatically invoke RBBS-PC and  to  
  2666. re-invoke  RBBS-PC should there be a power outage.  These files range  from  
  2667. the  simple to the sublime in terms of complexity.   In a multiple  RBBS-PC 
  2668. environment, these .BAT files CAN NOT BE SHARED, if you are either going to 
  2669. drop  into DOS remotely (either via the SYSOP's option 7 or  via  "doors.") 
  2670. Both the SYSOP option 7  which allows a SYSOP who is signed on remotely  to 
  2671. drop into DOS and the  "doors" feature of RBBS-PC require that:
  2672.  
  2673.      1.  RBBS-PC be executed from a batch file.
  2674.      2.  That the batch file which is executing RBBS-PC contain
  2675.          an "IF" statement that checks for the existence of the
  2676.          batch file which RBBS-PC dynamically builds when
  2677.          either "doors" or the SYSOP function 7 is invoked.
  2678.      3.  Within the "IF" statement, the logic exists such that the
  2679.          batch file dynamically built by RBBS-PC for the "doors"
  2680.          functions or the SYSOP function 7 will be invoked if it exists.
  2681.  
  2682. As a very simple example, let us assume
  2683.  
  2684.      1.  that the batch file that invokes RBBS-PC is named A:RBBS.BAT,
  2685.          and that is what was entered for option 84 of CONFIG.BAS,
  2686.      2.  that the name of the batch file that RBBS-PC will build
  2687.          dynamically for either "doors" or SYSOP function 7 is
  2688.  
  2689.                        Page 42 of 77
  2690. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2691.  
  2692.          A:RCTTY.BAT and that is what was entered for option 83 and
  2693.      3.  the compiled version of RBBS-PC is being executed and is
  2694.          named RBBS-PC.EXE and is on the default disk drive.
  2695.      4.  you have elected to use the watchdog utility program.
  2696.  
  2697. Then   A:RBBS.BAT  (in  a  non-MultiLink  environment)  would  contain  the 
  2698. following:
  2699.  
  2700.      WATCHDG1 OFF
  2701.      IF EXIST A:RCTTY.BAT DEL A:RCTTY.BAT
  2702.      RBBS-PC X   (see note of values available for "X")
  2703.      IF EXIST A:RCTTY.BAT WATCHDG1 ON
  2704.      IF EXIST A:RCTTY.BAT A:RCTTY.BAT
  2705.      A:RBBS.BAT
  2706.  
  2707.     If RBBS-PC is being run under the BASIC interpreter,  RBBS-PC will  use 
  2708.     the  RBBS-PC.DEF file for its configuration parameters and ignore  what 
  2709.     was  on the parameter line that invoked RBBS-PC.   This is the standard 
  2710.     default for SYSOPs running a single copy of RBBS-PC.
  2711.  
  2712.     If  you are running multiple copies of RBBS-PC,  it is not possible  to 
  2713.     run RBBS-PC under the BASIC interpreter!
  2714.  
  2715.     If running RBBS-PC.EXE,  RBBS-PC will check for the "X" in the  command 
  2716.     line  that invoked RBBS-PC.   The "X" on the execute line is  extremely 
  2717.     important to the correct operation of RBBS-PC.  If you are running in a 
  2718.     local  area network environment then the "X" should be a number between 
  2719.     "1" and "9". If "X" is omitted from the command line, RBBS-PC will look 
  2720.     for  a  file  named RBBS-PC.DEF.   RBBS-PC uses the  parameter  in  the 
  2721.     command  line to determine the correct RBBSxPC.DEF file to use for  its 
  2722.     configuration parameters.
  2723.      
  2724. Obviously the RBBS.BAT file could be as complex as you wanted it to be, but 
  2725. at the very least it would need the "IF" statements.
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.                        Page 43 of 77
  2754. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2755.  
  2756. 12.0 THE USE OF RBBS-PC "DOORS"
  2757. -------------------------------
  2758. The  RBBS-PC "door" concept is that of allowing a SYSOP to set up a  "door" 
  2759. through  which  his RBBS-PC users can exit from RBBS-PC and  enter  another 
  2760. application.  In previous versions of RBBS-PC (i.e. prior to CPC12-3A) this 
  2761. had  been called "windows" but because of the confusion this  created  with 
  2762. MicroSoft's WINDOWing concept, it has been re-labeled "doors".
  2763.  
  2764. RBBS-PC's   "doors"  are nothing more than .BAT files that the  SYSOP   has  
  2765. created  to  allow  his  users  to  exit  from  RBBS-PC  and  enter   other  
  2766. applications (i.e. data bases, etc.).  The SYSOP is responsible for writing  
  2767. the  .BAT  files that he will allow users to invoke.  Assuming that RBBS-PC 
  2768. is  brought up by DOS via an autoexec file that invokes  RBBS.BAT,  a  door 
  2769. called  EDIT exists that consists of a .BAT file (EDIT.BAT) which  contains 
  2770. the commands CTTY, EDLIN, and RBBS.BAT.  Here is pictorially what happens:
  2771.  
  2772.                         DOS
  2773.                          |
  2774.                         \|/
  2775.                     AUTOEXEC.BAT
  2776.                          |
  2777.                         \|/
  2778.                       RBBS.BAT
  2779.                          |
  2780.                          +--------->RBBS-PC.EXE
  2781.                                         |
  2782.                                         |
  2783.                     RCTTY.BAT<-----invokes door called "EDIT"
  2784.                          |
  2785.                         \|/
  2786.                      EDIT.BAT
  2787.                          |
  2788.                          +--------->EDLIN.COM
  2789.                                         |
  2790.                                         |
  2791.                       RBBS.BAT<--------ends
  2792.                          |
  2793.                          |
  2794.                          +--------->RBBS-PC.EXE
  2795.                                         |
  2796.                                         |
  2797.                                    welcome back from door
  2798.                                    and RBBS-PC continues
  2799.  
  2800. To set up "doors" the SYSOP lists  the  names  of  these  .BAT files (which 
  2801. he  is  responsible for  setting  up)  in  MENU5.    If   the   SYSOP   has  
  2802. indicated that  doors are  available  (via  CONFIG.BAS' option 81),  when a 
  2803. user invokes the D>oor command:
  2804.  
  2805.     1.  RBBS-PC will list MENU5,
  2806.     2.  Check that the door that the user selects was specified in MENU5,
  2807.     3.  Check that the .BAT file exists (on the default drive),
  2808.     4.  Dynamically create a .BAT file with the name specified
  2809.         by the SYSOP in option 83 of CONFIG.BAS that:
  2810.             a.  invokes the .BAT file of the window specified,and
  2811.             b.  re-invokes rbbs-pc after the user EXITS from the
  2812.                 window by invoking the .BAT file that the SYSOP
  2813.                 specified in option 84 of CONFIG.BAS.
  2814.  
  2815.  
  2816.  
  2817.                        Page 44 of 77
  2818. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2819.  
  2820. The   purpose of "doors" is to allow for the "horizontal" growth of   RBBS- 
  2821. PC.   Clearly  RBBS-PC has about all that IBM's BASIC compiler can  handle.   
  2822. In  order  to not limit the application of RBBS-PC either to BASIC  or  the  
  2823. current  compiler,   "doors" was chosen as a mechanism to allow SYSOP's  to  
  2824. make available other features (i.e.  data bases,  games,  etc.).  Hopefully  
  2825. with  RBBS-PC as a base,   the limitation on doors are that of the  SYSOP's  
  2826. resourcefulness AND IBM'S DISK OPERATING SYSTEM (see section 15)!
  2827.  
  2828. The   design of the .BAT file that is to be used as a "door"  is   critical  
  2829. and  is  the responsibility of the SYSOP.   At the very minimum  it  should  
  2830. handle  the communication port I/O.   This can be done in a very  primitive  
  2831. way  using  the  DOS CTTY command and the  "watchdog"  utility  written  by 
  2832. described in section 20.
  2833.  
  2834. Finally,  if  the preceding discussion of "doors" is a complete mystery  to 
  2835. you,  contact  a SYSOP of an RBBS-PC that is using "doors" and ask him  for 
  2836. help.  The "door" concept stretches IBM's DOS' capabilities and requires an 
  2837. extraordinary knowledge of how both DOS and .BAT files work. 
  2838.  
  2839. 13.0  THE SECURITY FEATURES OF RBBS-PC
  2840. --------------------------------------
  2841. RBBS has always been an open system designed for public use. A SYSOP should  
  2842. always  ASSUME that EVERY FILE ON THE PC running RBBS-PC CAN BE  DOWNLOADED  
  2843. AND/OR   DESTROYED.    However,   RBBS-PC  has  extensive  safeguards  that  
  2844. systematically  enhance security and privacy.  For example, RBBS-PC has the 
  2845. logic  within  it's  code  to  prohibit  anyone  (including  SYSOP's)  from 
  2846. downloading the RBBS-PC "system" files described in section 6.1.   RBBS can 
  2847. still be run as  a  wide  open system,   but the SYSOP has many  additional 
  2848. options   to   restrain  access.    These  security options make RBBS  much 
  2849. more suitable for  private  and business use.
  2850.  
  2851. RBBS-PC's security is controlled by three things:
  2852.  
  2853.      1. the system configuration file (RBBS-PC.DEF),
  2854.      2. the  two external security files for
  2855.            a. passwords (PASSWRDS), and
  2856.            b. file downloads (FILESEC), and
  2857.      3. the users file (USERS) in which each user has an assigned 
  2858.         security level.
  2859.  
  2860. The  users  file is controlled by the SYSOP's  user  maintenance   function 
  2861. 5 as described in section 14.1.   To change a specific users security level 
  2862. you  select the M>odify option and then the S>ecurity option.   This allows 
  2863. you  to  set  the security level for a user.   Users cannot set  their  own 
  2864. security level.   Section 13.3 describes how to implement special passwords 
  2865. that  provide special privileges to the groups that  issue  them.   Section 
  2866. 13.4  describes  how specific files,  groups of files,  or even whole  disk 
  2867. volumes can have download security levels associated with them.
  2868.  
  2869. 13.1 RBBS-PC's Security Features
  2870. --------------------------------
  2871. All  users have a security level assigned to them.   This is an integer  in  
  2872. the range -32,000 to +32,000.  There are then over 65,000 possible security  
  2873. levels.   Each  command in RBBS also has a security level assigned  to  it.   
  2874. Security assignments are controlled by the SYSOP.   To use a  command,  the  
  2875. caller's  security level must be at least as high as the command's security  
  2876. level.
  2877.  
  2878. The  SYSOP can assign a file or group of files both a security level and  a  
  2879. password.    To  download a file,  a caller must have a security level   at  
  2880.  
  2881.                        Page 45 of 77
  2882. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2883.  
  2884. least as high as the file's and be able to give the file's password (if one 
  2885. is  present).    All  users must pass these   security   tests,   including  
  2886. anyone  with  SYSOP privileges.
  2887.  
  2888. Messages  can  now  be  assigned a password by  their  creator.  Then  only  
  2889. persons who are able to give it can read  or  kill the message.    Messages 
  2890. with  password protection will show <PROTECTED>  when   scanned.    Callers 
  2891. have  no  way of distinguishing messages to  private  individuals   and  to 
  2892. groups  except by how they are addressed.    Persons with  SYSOP privileges 
  2893. can read all messages.
  2894.  
  2895. Security  violations  are  logged  to  the  CALLERS  file.   These  include  
  2896. attempting  to  use functions without sufficient  security  clearance,  and  
  2897. failure to give required passwords.
  2898.  
  2899. RBBS-PC's default configuration is that of an "open" system.
  2900.  
  2901. RBBS-PC's security system provides the SYSOP with several choices on how he  
  2902. wishes to run his RBBS. The chief ones are as follows:
  2903.  
  2904. 1.  Change the bulletin board from an open system available to all callers,  
  2905. to   a  pre-registered  system available  only  to  specified  users.    To  
  2906. support  this option,   there is a function in the SYSOP's user maintenance 
  2907. option  5  to ADD users.
  2908.  
  2909. 2.   A SYSOP can set up different "classes" of users by assigning different  
  2910. security levels to different users.   Concurrently the SYSOP would have  to    
  2911. assign  different security levels to different commands.   For example  new  
  2912. callers  might be permitted only to leave a comment,  read  bulletins,  and   
  2913. list  files  that  can be downloaded.  Or there might be a group  of  files   
  2914. assigned a security level that only members of a special interest group can  
  2915. download.
  2916.  
  2917. 3.   The  SYSOP  can  segregate the functions of the  bulletin  board  into  
  2918. different  groups based on a password.   A specific file or group of  files  
  2919. can  be  downloadable  only to those who  knew  the  password.   Similarly,  
  2920. messages  can be made open to everyone knowing the password but  closed  to  
  2921. everyone else.  This way there can be semi-private portions of the bulletin  
  2922. board.
  2923.  
  2924. 13.2 Examples of Uses for RBBS-PC's Security System
  2925. ---------------------------------------------------
  2926. SPECIAL INTEREST GROUPS --  A special interest group (SIG) in a users group  
  2927. wishes  to  run  a RBBS for both the general public and  its  own  use.  An  
  2928. example would be an author's SIG for persons interested in publishing books  
  2929. and  articles  or developing commercial software.   A definite  need  would  
  2930. exist to be able to address messages to everyone in the SIG without  making  
  2931. them  open  to  every caller.   The SIG would establish the  convention  to  
  2932. password protect general SIG messages with the password AUTHORONLY,  and to  
  2933. address  them to AUTHOR'S SIG.   Another example would be a bulletin  board  
  2934. devoted  to the exchange of software.   Allowing persons to use the message  
  2935. subsystem  would  only interfere with the primary purpose of  the  bulletin  
  2936. board.  Therefore the SYSOP removes from the menu the functions for leaving  
  2937. and reading messages.   In case a person requests the function even  though  
  2938. it  is not displayed,  these functions are assigned a security level higher  
  2939. log onto the system longer than normally allowed.  The SYSOP can set up the  
  2940. special  password  SOFTEXCHANGE,  with  a maximum time on  of  150  minutes  
  2941. instead of the normal 30.   By shifting over to this special password after  
  2942. logging in, members can get extra time if they need it. 
  2943.  
  2944.  
  2945.                        Page 46 of 77
  2946. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  2947.  
  2948. SOFTWARE SUPPORT --  An author of a freeware program offers RBBS support to  
  2949. all  persons  who register their copy with him and send a  contribution  of  
  2950. $35.   The  registered user can get answers for problems and download  free  
  2951. updates  and  sample applications.   The author wants anyone to be able  to  
  2952. call just to find out about the service.   New callers get a security level  
  2953. of  2  automatically assigned to them.   This allows them only to  use  the  
  2954. message subsystem.   The file subsystem is assigned a security level of  7.   
  2955. Contributors  are added by the SYSOP with a security level of 7 and a  pre- 
  2956. assigned password.  Except for SYSOP functions,  registered users have free  
  2957. reign in the RBBS.
  2958.  
  2959. CLIENT   SUPPORT   --  A  SYSOP  on  a  public  RBBS  also  works  as    a  
  2960. management   consultant.   She has several associates who work with her  on 
  2961. projects.   She   needs  to be able to send and receive messages  from  her 
  2962. associates which the  general  public  should  not see.   So they agree  on  
  2963. a  message  password  NOTPUBLIC.  To support her different clients she also 
  2964. needs  to  leave  private  files  for downloading.    To  each  client  she 
  2965. assigns  a  special  downloading   password.    To restrict downloading  to 
  2966. just  that client,   filenames are put  in the file security file with  the 
  2967. appropriate  password.   Only persons with  the password can then  download 
  2968. them.
  2969.  
  2970. PRIVILEGED  ELECTRONIC MAIL --  A company uses RBBS-PC to help support  its  
  2971. regional offices.  Only regional vice-presidents should be able to download  
  2972. certain management reports.   In file security these reports are assigned a  
  2973. high security level of 9, which only managers get.
  2974.  
  2975. 13.3 How to Implement the Password File
  2976. ---------------------------------------
  2977. Section  7.6.9 describes how the SYSOP can designate the name of  the  file 
  2978. containing the privileged group passwords to RBBS-PC.  The  SYSOP  can  use  
  2979. any   text  editor to create and  update  the  file  of  privileged   group  
  2980. passwords  as  it  is  a  plain  ASCII  file.    Put  the  information  for 
  2981. each password on a single line and separate the fields with  commas.  It is 
  2982. important  to  note  that EACH record of either the password or   the  file 
  2983. security  file must contain THREE fields (i.e.   two  commas).    For   the 
  2984. password file, the format is:
  2985.  
  2986. <password>,<security level>,<max time on>.
  2987.  
  2988. Note: Time is in units of minutes.
  2989.  
  2990. Two examples are:
  2991.  
  2992.    EXTEND,5,120
  2993.    ,7,128
  2994.  
  2995. If  you are using COPY CON to create this file you "MUST" press F6  at  the 
  2996. end of the last entry prior to pressing carriage return.
  2997.  
  2998. A  user  who issued the password change function and supplied the  password  
  2999. EXTEND would have his security level temporarily set to 5 and be granted an 
  3000. elapsed   time of 120 minutes for the current session (his elasped time per 
  3001. day  would still be whatever was set in option 15 of CONFIG).   A user  who 
  3002. logged  on with a security level of 7 would  automatically be  granted  128 
  3003. minutes on the system.
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.                        Page 47 of 77
  3010. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3011.  
  3012. 13.4  How to Implement the Security for Download Files
  3013. ------------------------------------------------------
  3014. Section  7.6.4 describes how the SYSOP can designate the name of  the  file 
  3015. containing  the passwords and security levels that can be used to  restrict 
  3016. downloads  of  specific files,  volumes,  or files  names  meeting  certain 
  3017. "wildcard"   criteria.    This  file  contains  file  names  with  download 
  3018. restrictions in the format:
  3019.  
  3020. <filename>, <security level>,<password>
  3021.  
  3022. Note:   Each line is a record and ends with carriage-return line-feed.  The  
  3023. only  field optional is the password field for a filename.  By leaving  the  
  3024. password  field  empty,  no password is assigned to  a  file.   The  commas  
  3025. between  the fields are necessary.  YOU MUST HAVE TWO COMMAS ON  EACH  LINE  
  3026. even if you do not have a password associated with the file.
  3027.  
  3028. Some examples would be:
  3029.  
  3030.    COMMAND.COM, 10, DOS
  3031.    PAYROLL.DAT, 99, BANKRUPT
  3032.    CALLGIRL.SEX,,ILLEGAL
  3033.    STOCKS,100,
  3034.  
  3035. The  file COMMAND.COM could not be downloaded unless a user had a  security  
  3036. level equal to or greater than 10 AND could supply the password "DOS".  The  
  3037. file PAYROLL.DAT could not be downloaded unless a user had a security level  
  3038. equal to or greater than 99 AND could supply the password "BANKRUPT".   Any  
  3039. user  could download the file CALLGIRL.SEX if he could supply the  password  
  3040. "ILLEGAL".   Any user with a security level of 100 or higher could download  
  3041. the file STOCKS without supplying any password.
  3042.  
  3043. Additionally  "wild-card"  characters and drive designators can be used  to  
  3044. protect or restrict certain classes of files (by extension, by drive, etc.)  
  3045. from being downloaded.
  3046.  
  3047. Some examples would be:
  3048.  
  3049.    A:*.*,8,
  3050.    E:*.SEC,2,PW1
  3051.    A*.M*,0,GX3
  3052.    XY?X.*,9,3XG
  3053.  
  3054. All files on drive A would require the users to have a security level of  8  
  3055. in  order for a user to download them.   Any user who wanted to download  a  
  3056. file  whose extension was ".SEC" and was found to be on drive E would  have  
  3057. to  not  only  have  a security level of at least 2 but to  also  give  the  
  3058. password  PW1.   The third entry above would require a user who  wanted  to  
  3059. download  any  file on any drive with a prefix that began with "A"  and  an  
  3060. extension that began with "M" to have a security level of at least 0 and to  
  3061. enter the password GX3.   Finally,  the last entry above would require  any  
  3062. user  who  wanted to download any file on any drive whose four letter  name  
  3063. began with "XY" and whose last letter was "X" with any extension to have  a  
  3064. security level of at least 9 and enter the password 3XG.
  3065.  
  3066. To  get  exceptions to the general rule,  just put  the  exceptions  first.   
  3067. RBBS-PC's  file security search stops with the first applicable entry  that  
  3068. it  encounters.   For  example, 
  3069.  
  3070. 1.  if you want all files on the B  drive  to require the user to have a 
  3071.     security level of at least 3,
  3072.  
  3073.                        Page 48 of 77
  3074. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3075.  
  3076.  
  3077. 2.  except that files on  the B drive with the extension ".SEC" would
  3078.     require the user to have a security level of at least 6,  and,
  3079.  
  3080. 3.  regardless of the disk drive that they were on, any file beginning
  3081.     with "MES" with an extension of ".SEC" would require the user to have
  3082.     a security level of at least 12 
  3083.  
  3084. you would enter the following into the file security file
  3085.  
  3086.    MES*.SEC,12,
  3087.    B:*.SEC,6,
  3088.    B:*.*,3
  3089.  
  3090. Special Note: RBBS  is hard coded so that there are some files that  nobody  
  3091.               can  download -- not even the SYSOP.   These are RBBS-PC.DEF,  
  3092.               users, messages, callers, group password, comments,  the file 
  3093.               security,  and  backup files.   Similarly the   batch   files  
  3094.               that   control  RBBS and let the caller exit to DOS 2 can not 
  3095.               be  downloaded.    The default security file   provided  with 
  3096.               RBBS-PC is empty. 
  3097.  
  3098. 13.5  How to Implement the Security for RBBS-PC Commands
  3099. --------------------------------------------------------
  3100. RBBS-PC allows each command to be assigned it's own security level.  A user 
  3101. who  wishes  to  invoke  an RBBS-PC command must have  at  least  the  same 
  3102. security level as the command.   Let's assume that a SYSOP wants to set  up 
  3103. the following classes of users:
  3104.  
  3105.   Classification of Users                        Security Level
  3106.  
  3107. "Locked Out" Users                                      0
  3108. New Users (first time)                                  1
  3109. Normal Users                                            2
  3110. Users that can "view" a Conference                      3
  3111. Users that can enter Messages                           4
  3112. Users that can download files                           5
  3113. Users that can upload files                             6
  3114. Users that can Join a Conference                        7
  3115. Users that can do some SYSOP commands (Jr. SYSOP's)     8
  3116. Users that can enter a "door"                           9
  3117. Users that can enter all SYSOP commands  (Co-SYSOP's)  10
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.                        Page 49 of 77
  3138. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3139.  
  3140. The  following  table  illustrates  one method of  assigning  each  RBBS-PC 
  3141. command it's own security level:
  3142.  
  3143.          Subsystem/Command                Security Level
  3144.                                         Assigned to Command
  3145.           Messages Subsystem
  3146.              B>ulletins.......................... 1
  3147.              C>omments........................... 1
  3148.              D>oor subsystem..................... 9
  3149.              E>enter message..................... 4
  3150.              F>iles system....................... 1
  3151.              G>oodbye............................ 0
  3152.              H>elp............................... 1
  3153.              I>nitial welcome.................... 1
  3154.              J>oin a conference.................. 7
  3155.              K>ill messages...................... 4
  3156.              L>ines per page..................... 1
  3157.              O>perator page...................... 1
  3158.              P>ersonal mail...................... 2
  3159.              Q>uick scan of messages............. 1
  3160.              R>ead messages...................... 2
  3161.              S>can messages...................... 1
  3162.              U>tilities (more)................... 1
  3163.              V>iew a conference.................. 3
  3164.              W>ho's on other nodes................3
  3165.              X>Expert on/off..................... 1
  3166.              ?>Functions......................... 1
  3167.  
  3168.           Utilities Subsystem
  3169.              B>aud rate.......................... 1
  3170.              C>ase change........................ 1
  3171.              F>ile transfer protocol............. 1
  3172.              G>raphics........................... 1
  3173.              H>elp............................... 1
  3174.              L>ine feeds......................... 1
  3175.              M>sg Margin......................... 1
  3176.              N>ulls.............................. 1
  3177.              P>assword........................... 2
  3178.              Q>uit to messages subsystem......... 0
  3179.              R>eview preferences................. 0
  3180.              S>tatistics......................... 1
  3181.              T>ime............................... 1
  3182.              U>serlog............................ 2
  3183.              X>Expert mode toggel................ 1
  3184.              !>Prompt Sound...................... 1
  3185.  
  3186.           Files Subsystem
  3187.              D>ownload........................... 5
  3188.              G>oodbye............................ 0
  3189.              H>elp............................... 1
  3190.              L>ist file directories.............. 7
  3191.              N>ew files.......................... 6
  3192.              Q>uit to messages subsystem......... 1
  3193.              S>earch directories for string ..... 1 
  3194.              U>pload a file...................... 6
  3195.              X>Expert mode toggle................ 1
  3196.              ?>file transfer information......... 1
  3197.  
  3198.  
  3199.  
  3200.  
  3201.                        Page 50 of 77
  3202. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3203.  
  3204.           SYSOP Subsystem
  3205.              1>List comments..................... 8
  3206.              2>List callers log..................10
  3207.              3>Recover a Message................. 8
  3208.              4>Erase comments.................... 9
  3209.              5>USERS maintenance.................10
  3210.              6>Toggle page bell.................. 8
  3211.              7>Exit to DOS 2.x or above.......... 9
  3212.  
  3213. 13.6  Beware of the "Trojan Horse!"
  3214. -----------------------------------
  3215. Despite RBBS-PC's security always remember that you should always assume:
  3216.  
  3217.        "EVERY FILE ON THE PC RUNNING RBBS-PC CAN
  3218.        BE DOWNLOADED, MODIFIED, AND/OR DESTROYED!"
  3219.  
  3220. RBBS-PC's security system appears to be so fool-proof that some individuals 
  3221. have  resorted  to  uploading programs that appear to  do  one  thing,  but 
  3222. actually  do something else.   These "trojan horse" programs search all the 
  3223. disks that are connected to the PC that the program is running on for  such 
  3224. RBBS files as RBBS-PC.DEF or USERS.  The program then copies these files to 
  3225. an  innocuosly named file that can be downloaded later when the person  who 
  3226. uploaded  it  logs onto the system again.   Since RBBS-PC.DEF contains  the 
  3227. pseudonym  that the SYSOP can use to logon on remotely as the  SYSOP,  once 
  3228. the  user downloads his copy of it he can log on as the SYSOP and  do  just 
  3229. about anything including exiting to DOS and formatting all the disks on the 
  3230. system.    Similarly,  the  USERS file contains passwords and the  security 
  3231. levels  of everyone on your RBBS -- some of whom may have SYSOP privileges.  
  3232. You can protect yourself against the former by not allowing anyone to logon 
  3233. as you (i.e.  the SYSOP).  To do this read section 7.1 regarding parameters 
  3234. 3 and 4.  You can protect yourself against the later by simply not allowing 
  3235. any user to have SYSOP privileges.
  3236.  
  3237. Of course there is the "trojan horse" program that doesn't even bother with 
  3238. the above, but simply destroys all the disk files on all the disks that are 
  3239. connected  to  the  PC that is running the  program.   Read  section  17.0, 
  3240. Uploaded  File  Tips,  regarding how you can protect yourself against  such 
  3241. programs.
  3242.  
  3243. 14.0 SYSOP FUNCTIONS
  3244. -------------------
  3245. The SYSOP functions are not available to the general user, and it should be  
  3246. noted  that  the  SYSOP should not use some of the  user  functions  either  
  3247. because  the code will not work right if called from the main  console,  or  
  3248. the  function  is  not  for use by  the  SYSOP.   Such  functions  are  the  
  3249. <O>perator,  <N>ewbaud,  <PW>  password,  and  file  upload/download  using  
  3250. XMODEM.   File  download using ASCII can be used to "type" files  available  
  3251. for download so they scroll across your screen.
  3252.  
  3253. To  enter  the  SYSOP mode press the ESC key locally or enter  the  special  
  3254. 'pass'  and  'word'  first  and last name  from  a  remote  terminal.
  3255.  
  3256. 14.1 SYSOP Commands Within RBBS-PC
  3257. ----------------------------------
  3258. The following operations can then be performed by entering a number only at  
  3259. the command prompt:
  3260.  
  3261. 1  - Type comments file.   The contents of the COMMENTS file is  displayed.   
  3262. This  file can also be inspected using a TYPE command from DOS.   It  is  a  
  3263. ASCII sequential text file.
  3264.  
  3265.                        Page 51 of 77
  3266. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3267.  
  3268.  
  3269. 2 - Type CALLERS file.   A log is maintained of all persons who have called  
  3270. the  system.   This function will list the file showing the users name  and  
  3271. the  date and time signed on as well as the files he upload/downloads along 
  3272. with  any  security violation or errors encountered.   This   is  a  random 
  3273. access file of 64 byte records.
  3274.  
  3275. 3 - Resurrect a message.  This function will return a message that has been  
  3276. killed   to  an  active state.    If message file has been  "packed",   the  
  3277. killed  messages are no longer recoverable.   The function will ask for the 
  3278. message  number to be recovered.
  3279.  
  3280. 4 - Erase the comments file.  This function will erase the comments file by  
  3281. killing  the file.   Since the file is opened "APPEND" a new comments  file 
  3282. will be created the next time a user leaves a comment.           
  3283.  
  3284. 5 - USERS file maintenance.   The users file contains entries for each user  
  3285. registered  with the system.   This function permits the SYSOP to list  the  
  3286. file  on the display,  print the file on the printer (LPT1:) or to  perform  
  3287. limited editing of the user file records.
  3288.  
  3289. In <M>odify mode the following subfunctions are available:
  3290.     A - Add a user to the USERS file.
  3291.     M - Return to the <M>ain menu or function prompt.
  3292.     P - Toggle the printer flag to print entries on the printer.
  3293.     N - New password.  Permits the SYSOP to change the
  3294.         password for the user.
  3295.     F - Find User.  Permits the SYSOP to locate a user by
  3296.         entering the users name.
  3297.     S - Set the security level of the user.  This can be
  3298.         used to lockout or grant special privileges to the user.
  3299.         In <M>odify mode a record will be displayed followed by a
  3300.         subfunction prompt for action.  To get to a specific
  3301.         record the record number can be entered at the prompt
  3302.         and if valid that record will be displayed.  If the
  3303.         record number is invalid or an empty c/r is entered then
  3304.         the next record in the file will be displayed.
  3305.  
  3306. 6  - Toggles the operator page bell on/off and overrides the "office hours" 
  3307. specified in the RBBS-PC.DEF file.
  3308.  
  3309. 7   - If  the  SYSOP has logged on remotely and is running on  DOS  2.0  or  
  3310. greater,  this  function will dynamically setup a batch file to assign  the  
  3311. SYSOPS terminal as the main console.  It then returns to DOS and if
  3312.         
  3313.        a.  RBBS was invoked via a batch file, and
  3314.  
  3315.        b.  that batch file is checking for the batch file which RBBS-PC
  3316.            dynamically builds for option 7, and
  3317.  
  3318.        c.  the batch file that invokes RBBS-PC executes the batch file
  3319.            that  RBBS-PC dynamically builds for option 7,  then  the  SYSOP 
  3320.            will see the DOS prompt at his terminal and can execute whatever 
  3321.            DOS command or program supported by the CTTY command.   DOS will 
  3322.            look for COMMAND.COM to be present on the disk drive your system 
  3323.            booted  from since this option loads in a copy of COMMAND.COM to 
  3324.            run  under the copy that is running RBBS-PC.   Also be  sure  to 
  3325.            read  section  15 and make sure that you THOROUGHLY  understands 
  3326.            the  limitations  that  DOS places on you when  this  option  is 
  3327.            invoked.
  3328.  
  3329.                        Page 52 of 77
  3330. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3331.  
  3332. Two   areas  of  caution are advised when using option  7  under  DOS   2.0 
  3333. or  above.    First,   each  SYSOP  should  test what he can do   remotely.  
  3334. Software   that   directly   reads  and writes to the video BIOS  and  does  
  3335. other  things  that  bypass  the  standard  input and output of DOS  simply  
  3336. won't  function  correctly.   Second,  you should be aware that  you are in 
  3337. DOS and  can  only return to RBBS by issuing the EXIT  command.   This will 
  3338. return  to the  dynamically  built  batch file that was built  by  RBBS-PC.   
  3339. This  file  will  then  continue executing  and is designed to reassign the 
  3340. keyboard   as   the   console and then  re-invoke  RBBS-PC.    If  you  get 
  3341. disconnected while in DOS,   you  system will be locked up.    The  console 
  3342. will  be  assigned to your  communication  port  and your Hayes modem  will 
  3343. have dropped the  line   and  will have been set not to  auto-answer.   The 
  3344. only way to re-boot the  system  is a manual power on/off sequence.
  3345.  
  3346. 14.2 SYSOP's Use of Function Keys
  3347. ---------------------------------
  3348. The  following  function  keys  (ten keys on left  side  of  keyboard)  are  
  3349. designed  to  give the SYSOP special local controls that  can  be  actuated  
  3350. without  entering  the SYSOP mode (using the ESC entry key).   The  current 
  3351. status of function keys F3, F4, F6 and F7 are displayed on line 25.
  3352.  
  3353. F1 - Return to DOS.  This will terminate a session if a caller is on-line.
  3354.  
  3355. F2 - Return to BASIC.   This will also terminate a session. This returns to  
  3356. DOS under the compiled version.
  3357.  
  3358. F3 - Printer toggle on/off.  This changes the printer on-line status.  When  
  3359. on-line   the   printer   will   print  callers  names   and   file   names  
  3360. uploaded/downloaded.   It  will  also print all error messages  except  the  
  3361. ERROR 68 used to check that a file exists.  This function should match  the  
  3362. condition  of  the printer.  If the printer is going to be  left  off,  the  
  3363. PRINTER  toggle should be left off.   When the printer toggle is  on  "LPT" 
  3364. will be displayed in positions 8-11 of line 25.
  3365.  
  3366. F4  - Operator page toggle.   This changes the status of operator annoy and  
  3367. records   the change in the "node" record associated with the copy of RBBS-
  3368. PC associated with  function key 4.    This is set  by  the  CONFIG program 
  3369. parameter # 7 which establishes the SYSOP's office hours.  This can be used 
  3370. to override and extend the "office hours" set up by CONFIG.BAS.   When  the 
  3371. operator  annoy  toggle is on "ANY" will be displayed in positions  5-7  of 
  3372. line 25.
  3373.  
  3374. F5 - Forces a ring back system to answer the phone.
  3375.  
  3376. F6  - SYSOP available.   This changes the status of operator available  and  
  3377. records   the change in the "node" record associated with the copy of RBBS-
  3378. PC associated with  function key 6.   This is useful if during your "office 
  3379. hours"  you  don't  wish  to be  disturbed  temporarily.   When  the  sysop 
  3380. available toggle is on "AVL" will be displayed in positions 1-3 of line 25.
  3381.  
  3382. F7  - SYSOP gets control of the system after current user logs  off.   When 
  3383. the  sysop next toggle is on "SYS" will be displayed in positions 13-15  of 
  3384. line 25.
  3385.  
  3386. F8  - Allows the SYSOP to grant an on-line user temporary SYSOP privileges.   
  3387. This is a toggle on/off switch.
  3388.  
  3389. F9 - SNOOP toggle.  This changes the SNOOP from the default value the first  
  3390. time it is pressed and toggles it on/off thereafter.  SNOOP off clears  the  
  3391. screen  and  turns the cursor off.  It also keeps the download  beeps  from  
  3392.  
  3393.                        Page 53 of 77
  3394. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3395.  
  3396. sounding.   The  SNOOP should be left off for normal use to keep the system  
  3397. startup screen from "burning into" the monitor.   If the SNOOP is left  on,  
  3398. the  monitor should be physically turned off except when you are  observing  
  3399. the RBBS in action.  Leaving the monitor off will not affect performance of  
  3400. the RBBS.
  3401.  
  3402. F10  - This is the forced chat switch.   It announces your forced chat  and  
  3403. who you are before turning the keyboard over to you and the caller.   Along  
  3404. with the ESC key (which ends the chat mode) this is the same key you use to  
  3405. answer a page.
  3406.  
  3407. The SYSOP can also enter commands on the command prompt line while a caller  
  3408. is  on-line.   The command entered will cause the system to respond just as  
  3409. it  would  had the caller entered the command.   This should be  used  with  
  3410. caution because it could confuse a new system user -- users are often timid  
  3411. enough without knowing that big brother is actually watching them!  Let the  
  3412. caller page you then tell him that you can assist with commands if he  gets  
  3413. into trouble.
  3414.  
  3415. 15.0 DOS LIMITATIONS ON RUNNING PROGRAMS REMOTELY
  3416. -------------------------------------------------
  3417. 15.1 How to Get DOS to Monitor Carrier Detect
  3418. ---------------------------------------------
  3419. When accessing your PC via a communications port, the carrier detect signal 
  3420. tells the PC that you are on-line.  DOS's major limitation is that there is 
  3421. no  way  to  tell  DOS to automatically monitor  carrier  detect  when  the 
  3422. standard input and output is transferred to a communication port (i.e.  via 
  3423. the  CTTY  command).    RBBS-PC makes sure that the carrier is not  dropped 
  3424. when a user exits to DOS either via the "DOORS" option or using the  remote 
  3425. SYSOP function 8.   However, it is the  SYSOP's  responsibility  to  insure  
  3426. that   whatever program(s) are invoked after leaving RBBS-PC  performs  all  
  3427. the  necessary  functions  to maintain the communications session and, when 
  3428. exiting to return to RBBS-PC, insure that the carrier  is  "NOT"  dropped.
  3429.  
  3430. Most  application programs (i.e.  databases,  etc.) are not designed to  be 
  3431. controlled by a user accessing it from a communications port.  This problem 
  3432. is solved when a function is invoked that:
  3433.  
  3434.   1.   Checks  to  see if the standard input and output console  have  been 
  3435. assigned to an auxiliary console such as a communication port.
  3436.  
  3437.   2.  If condition 1 is true, checks to see if the carrier detect signal is 
  3438. lost  by  intercepting  each  interrupt from  the  communication  port  the 
  3439. auxiliary console has been assigned to.
  3440.  
  3441.   3.  If BOTH conditions 1 and 2 are true, this function would cause DOS to 
  3442. switch back to the standard screen and keyboard for its operations AND then 
  3443. continue  processing  whatever batch file that had been executing  (if  one 
  3444. was).
  3445.  
  3446. Such a function (or device driver) would provide a "fail safe" feature that 
  3447. would  allow users to exit  RBBS-PC  to  use  whatever  other software  the 
  3448. SYSOP  chose  to  make  available  (i.e.   relation databases  for  complex 
  3449. inquiries   -- bibliographic,    sports,    games,    etc.).    For   those 
  3450. anticipating  using  RBBS-PC's  "doors" or exiting to DOS when  you  are  a 
  3451. remote SYSOP,  you are strongly encouraged to consider using the "watchdog" 
  3452. utility  program available on many bulletin board systems under  such  file 
  3453. names  as  WATCHDOG.COM,   WATCHDOG.ASM,  WATCHDOG.DOC,  WATCHDOG.EXE  that 
  3454. monitors  the communication port for you and reboots your system if carrier 
  3455. drops.   If  you don't use a program like WATCHDOG and accidently  hang  up 
  3456.  
  3457.                        Page 54 of 77
  3458. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3459.  
  3460. while  in a "door" or in DOS,  you system will remain "hung" until you  can 
  3461. manually reboot it.
  3462.  
  3463. If  you  aren't technically inclined and want to use  RBBS-PC  "doors",   I 
  3464. suggest   you   consider   using   MultiLink   from   The  Software   Link,  
  3465. Incorporated at (404)  998-0700.   While  MultiLink  costs  about $500  and 
  3466. neither  the CPCUG's nor RBBS-PC authors have any connection with  it,   it 
  3467. does  provide  a mechanism for overcoming DOS's inability to have  programs 
  3468. invoked  from  remote  users  (release 2.0.6  or  higher  of  MultiLink  is 
  3469. required).   If  RBBS detects MultiLink is present when a user exits to DOS 
  3470. via  "doors",  RBBS-PC  automatically passes control of the  communications 
  3471. port that the user is on to MultiLink so that MultiLink can do the  carrier 
  3472. monitoring on behalf of the application.
  3473.  
  3474. 15.2  How to Redirect Graphic Displays to Remote Users
  3475. ------------------------------------------------------
  3476. Programs that utilize the PC's built in video memory (such as the IBM BASIC 
  3477. interpreter or WordStar when it writes to the 25th line) need to have  such 
  3478. I/O redirected in a special way to a remote users terminal.   Additionally, 
  3479. if  the I/O is redirected to the communications port,  the terminal on  the 
  3480. other  end  must have a "cursor" that can be sent the  appropriate  command 
  3481. sequence  to  move  it around on the remote users  terminal  as  necessary. 
  3482. Without this capability, programs  made  available  through "doors" must be 
  3483. line-at-a-time  programs.   This  of  course  excludes   programs  such  as 
  3484. WordStar, Lotus/123 etc.
  3485.  
  3486. If  you  aren't  technically inclined and want to use RBBS-PC  "doors"  for 
  3487. applications that write directly to the PC's video hardware,  I suggest you 
  3488. consider   using   MultiLink  (see section  15.1).   MultiLink  provides  a 
  3489. mechanism  for  overcoming DOS's inability to redirect graphics  to  remote 
  3490. users.   If  RBBS detects MultiLink is present when a user exits to DOS via 
  3491. "doors",  RBBS-PC  automatically passes control of the communications  port 
  3492. to  MultiLink  and  notifies MultiLink of the kind  of  MultiLink-supported 
  3493. terminal  to redirect the application's graphics to (presumably one with  a 
  3494. controllable cursor).
  3495.  
  3496. 16.0  CONFERENCING WITH RBBS-PC
  3497. -------------------------------
  3498. RBBS-PC is intended to be an open system.   The "conference" concept is one 
  3499. that  allows  either  anyone  who  can  leave  messages  (i.e.  a  "public" 
  3500. conference) or a pre-registered set of users (i.e.  a "private" conference) 
  3501. to  engage in a specialized dialogue.   To make a  "conference"  successful 
  3502. several guidelines should be followed rather rigorously:
  3503.  
  3504. 1.   Establish  a  "conference  chairman" (i.e.  a  SIGOP).   This  is  the 
  3505. "policeman"  of the conference.   His job is to add new users,  delete  old 
  3506. ones,  make sure the subject and/or the agenda of the conference is adhered 
  3507. to by killing messages that are inappropriate.  
  3508.  
  3509. 2.  Establish an "agenda" or list of subject areas for the conference.  One 
  3510. of these should be new subject areas.  These areas should be VERY narrow in 
  3511. scope.  The essence of any good conference is keeping it focused.  Everyone 
  3512. has  been  in  at least one meeting/conference that was  a  waste  of  time 
  3513. because  whoever  was  running  the meeting/conference  did  not  keep  the 
  3514. dialogue centered on the subject or agenda. 
  3515.  
  3516. The  SYSOP  sets up a conference using CONFIG.BAS to pre-format up  to  two 
  3517. files  -- one for the messages to be associated with the conference and one 
  3518. for  the  users to be associated with a conference (if it  is  a  "private" 
  3519. conference).   The file name for a "conference" can be any seven characters 
  3520.  
  3521.                        Page 55 of 77
  3522. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3523.  
  3524. that  are valid for a file name.   The eighth character must be a "M"  (for 
  3525. the  messages file associated the conference) or a "U" (for the users  file 
  3526. associated  with  the conference).   The SYSOP then can chose to enter  the 
  3527. conference  member  names in the conference USERS file by using  the  SYSOP 
  3528. function  5.   The SYSOP can "join" any conference and need not be  in  the 
  3529. particular conference USERS file.
  3530.  
  3531. To set up a conference chairman,  the SYSOP need only
  3532.  
  3533.     1.  "Join" the conference,
  3534.     2.  Use SYSOP function 5 to enter the users name who is to be the 
  3535.         conference chairman into the conference's USERS file.
  3536.     3.  Set the users security level in the conference's USERS file
  3537.         to a security level that can issue the SYSOP function 5.  This 
  3538.         will allow the conference chairman to add users.
  3539.  
  3540. Remember  when a user joins a conference he must already be  registered  in 
  3541. that  conference's  USERS  file.   If  he isn't,  he can  only  "view"  the 
  3542. conference.   When  someone issues the J>oin command to join a  conference, 
  3543. his standard security level is temporarily superseded by the security level 
  3544. associated with his user name within that conference's USERS file.
  3545.  
  3546. For example,  normal user might be given the security required to add users 
  3547. to  the conference USERS file for a particular conference since he  is  the 
  3548. conference chairman.  When he joins the conference of which he is chairman, 
  3549. his normal security is bumped up so that he can add users to the users file 
  3550. of  the conference.   When he exits that conference,  his security level is 
  3551. returned to normal.   If he should subsequently join another conference  of 
  3552. which  he  is not chairman,  he would find he could not add users  to  that 
  3553. conference's  users file.  Other than a conference chairman,  none of  the 
  3554. conference members should be given any higher security than they  otherwise 
  3555. enjoy as a regular RBBS-PC user.
  3556.  
  3557. There are no limits on the number of conferences within RBBS-PC.   Here are 
  3558. some examples of some conference names:
  3559.  
  3560. Conference Name     Name of Message File      Name of Users File
  3561.                     for that Conference       for that Conference
  3562.                                               (if it's "private")
  3563.  
  3564.   FORSALE               FORSALEM.DEF           FORSALEU.DEF
  3565.   GAMES                 GAMESM.DEF             GAMESU.DEF
  3566.   FINANCE               FINANCEM.DEF           FINANCEU.DEF
  3567.   SYSOPS                SYSOPSM.DEF            SYSOPSU.DEF
  3568.   CLONES                CLONESM.DEF            CLONESU.DEF
  3569.   RELIGON               RELIGONM.DEF           RELIGONU.DEF
  3570.   PHILOSP               PHILOSPM.DEF           PHILOSPU.DEF
  3571.   BBS                   BBSM.DEF               BBSU.DEF
  3572.  
  3573. If a continuity of dialogue is to be achieved,  it is advisable to keep the 
  3574. conference  "focused"  either by keeping the number of  conference  members 
  3575. limited  to  thirty persons or less or by keeping the subject  matter  very 
  3576. narrow (i.e.  the IBM PC's 30MB disk size limitation).  Another interesting 
  3577. thing about "private" conferences as implemented within RBBS-PC is that  it 
  3578. they are not "public" and, therefore, are even more protected by the first, 
  3579. fourth, and fifth amendments.
  3580.  
  3581.  
  3582.  
  3583.  
  3584.  
  3585.                        Page 56 of 77
  3586. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3587.  
  3588. 17.0 UPLOADED FILE TIPS
  3589. -----------------------
  3590. If someone uploads a BASIC file to you, and it will not list on your screen  
  3591. using the DOS TYPE command,  you should go into BASIC,  load the file, list  
  3592. it,  then resave it using the same name.  If you get a `Direct Statement In  
  3593. File'  error printed on the screen when you load the file,  that means that  
  3594. you downloaded a text statement with the file (one that has no line number,  
  3595. one  that  was edited on a word processor which created a  carriage  return  
  3596. without a linefeed -- thus overwriting two lines and giving the  appearance  
  3597. of  a  direct  statement in the file).   This will not interfere  with  the  
  3598. resaving of the file unless the direct statement is at the beginning of the  
  3599. file;  if the file lists ok, then the direct statement is at the end of the  
  3600. file.   If the file does not list properly, then the direct statement is at  
  3601. the beginning of the file and has to be removed using a text editor (EDLIN)  
  3602. before the program can be loaded and run.
  3603.  
  3604. Do  not attempt to save a BASIC file after getting the `Direct Statement In  
  3605. File'  error  during loading without listing the program  first;  you  will  
  3606. destroy the file otherwise.  If you wish to load an uploaded file (a  BASIC  
  3607. program or any other text file) into a text editor to change the content of  
  3608. the  file,  you  will have to first add line feeds to the end of each  line  
  3609. (after  each  carriage return).
  3610.  
  3611. Finally,  every SYSOP should assume that any file uploaded to him that  can  
  3612. be executed (i.e.  .BAS,  .COM,  .EXE) has the capability of destroying all  
  3613. the  files available to the PC it is executed on.  This may be because  the  
  3614. documentation  is in error,  the program was executed incorrectly,  or  the  
  3615. program  was designed to be malicious.  It behoves every SYSOP to know what  
  3616. every file uploaded to him does in order to protect not only  himself,  but  
  3617. his users.
  3618.  
  3619. 18.0 COMPILING AND LINKING RBBS-PC
  3620. ----------------------------------
  3621. RBBS-PC CPC12-5B's source is distributed along with the executable  program 
  3622. RBBS-PC.EXE.   It is NOT necessary for anyone running  RBBS-PC to recompile 
  3623. or re-link RBBS-PC in order to utilize RBBS-PC.   However,  some users  may 
  3624. wish  to modify the source and recompile it.   This section is intended for 
  3625. those hardy few who choose to do so.   Remember only what is distributed is 
  3626. supported -- anything else is strictly yours to debug!
  3627.  
  3628. 18.1 Compiling CONFIG.BAS and RBBS-PC.BAS
  3629. -----------------------------------------
  3630. Because  of the size of the CONFIG.BAS (version 1.8) the BASIC  compiler  
  3631. command should be:
  3632.  
  3633.      BASCOM  CONFIG.BAS,, /E/S/O;
  3634.  
  3635. The output will be CONFIG.OBJ with a size of about 150,221 bytes.
  3636.  
  3637. Similarly,  because   of  the size of the RBBS-PC.BAS (version  CPC12)  the 
  3638. BASIC  compiler  command should be:
  3639.  
  3640.      BASCOM  RBBS-PC.BAS,, /E/C:4096/S/O;
  3641.  
  3642. The output will be RBBS-PC.OBJ with a size of about 168,565 bytes.
  3643.  
  3644. 18.2 LINKing CONFIG 
  3645. -------------------
  3646. CONFIG.OBJ can be LINKed to produce CONFIG.EXE with the command
  3647.  
  3648.  
  3649.                        Page 57 of 77
  3650. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3651.  
  3652.      LINK CONFIG+IBMCOM,CONFIG.EXE,,C:;
  3653.  
  3654. assuming that all the required files are on the C drive.   The output  will 
  3655. be CONFIG.EXE with a size of about 103,168 bytes (or about 101K).
  3656.  
  3657. 18.3 LINKing RBBS-PC Without MNP File Transfer Protocol
  3658. -------------------------------------------------------
  3659. MNP  file transfer protocol is NOT required to be included in RBBS-PC  (see 
  3660. CONFIG's option 31).   Therefore,  RBBS-PC can be LINKed using the standard 
  3661. IBM DOS LINKer and without including the MNP library.  To do this enter the 
  3662. command:
  3663.  
  3664.      LINK RBBS-PC+IBMCOM+UTILIT+BDRIVEC2+PC-NET,RBBS-PC.EXE,,C:;
  3665.  
  3666. assuming  that all the required files are on the C drive.   The output will 
  3667. be RBBS-PC.EXE with a size of about 109,184 bytes (or about  107K).
  3668.  
  3669. 18.4 LINKing RBBS-PC With MNP File Transfer Protocol Capabilities
  3670. -----------------------------------------------------------------
  3671. Microcom's  error-free protocol,  MNP,  is available AS AN OPTION for  file 
  3672. transfer beginning with version CPC12-4A of RBBS-PC.   The RBBS-PC.EXE file 
  3673. that  is distributed includes code from the MNP library.   The MNP  library 
  3674. file provided with RBBS-PC is done so under the following condition:
  3675.     
  3676.     "The  MNP  library  file provided with RBBS-PC  is  the  exclusive 
  3677.     proprietary  property  of  Microcom,  Inc.  and  this  copyrighted 
  3678.     program material is supplied by Microcom exclusively for use  with 
  3679.     the  RBBS-PC  bulletin board system.   Inclusion of  library  code 
  3680.     within RBBS-PC does not in any way grant a license to the Microcom 
  3681.     Networking  Protocol (MNP).   The use of the RBBS-PC  MNP  library 
  3682.     code  modules or MNP in any product other than the RBBS-PC program 
  3683.     is  a  violation  of  Microcom's proprietary  rights  in  the  MNP 
  3684.     technology."
  3685.  
  3686. Because  the Microcom library code was generated by the Lattice C compiler, 
  3687. the standard LINKer that IBM provides with PC-DOS can't be used.   This  is 
  3688. because  the  Lattice C compiler makes assumptions about how data  segments 
  3689. are  loaded  in memory that are incompatible with the way  the  IBM  LINKer 
  3690. handles the object code generated by the IBM BASIC compiler.   Therefore to 
  3691. include  MNP  file  transfer  protocol a linkage editor  which  allows  the 
  3692. specification  of  the order in which segments within the class  of  "DATA" 
  3693. must  be used.   One such linkage editor is Plink-86 from Phoenix  Computer 
  3694. Products  Corporation (1416 Providence  Highway,  Suite  220,  Norwood,  MA 
  3695. 02062).   The  Plink-86 linkage editor can be invoked by setting up a  file 
  3696. called PLINK.DTA with the following following PLINK-86 commands in it:
  3697.  
  3698.           FILE RBBS-PC,IBMCOM,UTILITY,BDRIVEC2,PC-NET,RBBSMNP
  3699.           CLASS CODE
  3700.           CLASS INIT
  3701.           CLASS DATA
  3702.           CLASS RT_DATA
  3703.           CLASS BLANK
  3704.           CLASS CONST
  3705.           LIBRARY BASCOM,MNP
  3706.           LIBRARY BASCOM,MNP
  3707.           OUTPUT RBBS-PC;
  3708.  
  3709.  
  3710.  
  3711.  
  3712.  
  3713.                        Page 58 of 77
  3714. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3715.  
  3716. The above assumes that the following files are on the default disk drive:
  3717.           RBBS-PC.OBJ
  3718.           IBMCOM.OBJ
  3719.           UTILITY.OBJ
  3720.           BDRIVEC2.OBJ
  3721.           PC-NET.OBJ
  3722.           RBBSMNP.OBJ
  3723.           BASCOM.LIB
  3724.           MNP.LIB
  3725.  
  3726. The  output  will be RBBS-PC.EXE on the default disk drive with a  size  of 
  3727. about 141,296 bytes (or about  138K).
  3728.  
  3729. 19.0 LIMITED LICENSE
  3730. --------------------
  3731. The  software is copyrighted but A LIMITED LICENSE IS GRANTED and  you  are  
  3732. free to use and share it under the following conditions:
  3733.  
  3734.     1. You may NOT distribute RBBS-PC in modified form.
  3735.     2. You may NOT charge a fee for RBBS-PC itself,  and
  3736.     3. You MUST retain all references to the copyright and authors.
  3737.  
  3738. Please  distribute the original version (or update thereof) of the program.   
  3739. If  you have changes either add a new file with that copy or supply a  file  
  3740. to be MERGED with the original to create it.   This is done so that  future  
  3741. revisions  can  be easily added to the system without requiring the  entire  
  3742. program.
  3743.  
  3744. Please do NOT resequence the program.   All revisions will be as files that  
  3745. can  be MERGED with the base program or update thereof to  incorporate  the  
  3746. new fixes and enhancements.
  3747.  
  3748. 20.0 LIMITED WARRANTY
  3749. ---------------------
  3750. The RBBS-PC CPC12 program is provided "as is" without warranty of any kind,  
  3751. either  expressed  or implied,  including,  but not limited to the  implied  
  3752. warranties  of merchantability and fitness for a particular  purpose.   The  
  3753. entire  risk as to the the quality and performance of the program  is  with  
  3754. the  user  and  should  the program prove defective the user  and  not  the  
  3755. authors will assume the entire cost of all necessary remedies.  None of the  
  3756. authors  warrant that the functions contained in the program will meet  any  
  3757. users   requirements  or  that  the  operation  of  the  program  will   be  
  3758. uninterrupted or error free.   In any case,  each author's entire liability  
  3759. will  be  limited  to the total amount of money the  individual  user  paid  
  3760. directly and explicitly to each author for the use of RBBS-PC.
  3761.  
  3762. 21.0 UPGRADING FROM CPC12-3B TO CPC12-5B
  3763. ----------------------------------------
  3764. Because RBBS-CPC12-5B requires that the USERS file be reformatted, you must 
  3765. perform the following steps to migrate from CPC12-3B to CPC12-5B:
  3766.  
  3767.       1. "Pack" your CPC12-3B USERS file using CONFIG Version 1-6.
  3768.  
  3769.       2. Run the one-time only utility FUSR124A.BAS.
  3770.  
  3771.       3. Rename all directories (i.e. DIR99 renamed to 99.DIR).
  3772.  
  3773.       4. Rebuild your USERS file (even if upgrading from 12-4B). 
  3774.  
  3775. PLEASE  NOTE!!!!!  ---- CPC12-5B  has a new CONFIG.BAS (version  1.8)  that 
  3776.  
  3777.                        Page 59 of 77
  3778. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3779.  
  3780. replaces  the  older  versions of CONFIG.BAS and the .DEF files  that  they 
  3781. created!
  3782.  
  3783. 22.0 RBBS-PC FUTURE DIRECTIONS
  3784. ------------------------------
  3785. RBBS-PC  CPC12 can be a lot of fun to operate and can be a useful tool  for  
  3786. information exchange.  Pass copies of it along to others,  so more of these  
  3787. systems will spring up all over the country!  RBBS-PC seems to be meeting a  
  3788. need within the IBM-compatible PC user community.   As you can see from the  
  3789. brief  history  of RBBS-PC CPCxx.x outlined in section 1.3,  it has  had  a  
  3790. rapid  evolution in the past year of it's existence.   However,  there  are  
  3791. some  future  directions that I see for it and I would like to  share  them  
  3792. with you.
  3793.  
  3794. RBBS-PC  REDESIGN  -- On June 18,  1985 IBM announced a  new  IBM  Personal 
  3795. Computer  BASIC Compiler 2.0 and it has been available since the third week 
  3796. in  July  of 1985 at an unconscionable list price  of  $495.    Microsoft's 
  3797. QuickBasic  compiler has been available since August 2,  1985 with  a  list 
  3798. price of $99.  QuickBasic is 100% compatable with the IBM Version 2.0 BASIC 
  3799. compiler  with two exceptions -- QuickBasic does not support arrays greater 
  3800. than 64K or ISAM files. 
  3801.  
  3802. CPC12-5B  will  be  the  last version that functions under  the  IBM  BASIC 
  3803. interperters  and  IBM's  BASIC  compiler  Version  1.0.   Because  of  the 
  3804. additional  features that are in these two new BASIC  compilers,  the  next 
  3805. version  of  RBBS-PC (CPC13-1A) will be converted to and be  compilable  by 
  3806. these two new compilers.   However,  only the RBBS-PC.EXE file generated by 
  3807. the QuickBasic compiler will be tested.
  3808.  
  3809. Hopefully,  the  RBBS-PC  source code can be uncompressed so that there  is 
  3810. only  one  BASIC statement per line and that comments can be added  to  the 
  3811. source  code.   No one wants comments back in the source code more than  I 
  3812. do!   There are sections of the currently uncommented code that I have  had 
  3813. to re-figure out four and five times -- each time I had to make a change to 
  3814. it.   Hopefully,  the new compiler will allow the RBBS-PC source code to be 
  3815. both fully commented and uncompressed.   Regretably this may preclude RBBS-
  3816. PC from executing under the BASIC interperter until a new BASIC interperter 
  3817. becomes available that supports the new compiler.
  3818.  
  3819. ADDITIONAL  PROTOCOLS  -- there  is at least one additional  protocol  that  
  3820. should  be  added to RBBS-PC.   It is one that makes use of  CRC16  (cyclic  
  3821. redundancy  check).   A "public domain" one exists for  the IBM PC  and  is  
  3822. implemented  in  Hayes' SMARTCOMII.   One SYSOP has already told me  he  is  
  3823. working on adding that to RBBS-PC.
  3824.  
  3825. NATIONAL  ANNUAL  MEETING OF SYSOP'S --  As PC's (IBM's and others)  become  
  3826. more  common in homes and offices,  there use as vehicles  for  information  
  3827. exchange will grow.  Indeed, the growth of RBBS-PC has been astounding!  An  
  3828. annual  meeting  of  SYSOP's  could foster this  growth,  the  exchange  of  
  3829. information,  assist  in focusing on the issues (regulatory and  otherwise)  
  3830. that  foster/inhibit  this growth,  and act as a forum for  new  ideas.   A  
  3831. national  meeting,  perhaps  sponsored by the Capital PC  User  Group,  and  
  3832. initially  funded  by the major PC manufacturers  (Apple,  IBM  -- are  you  
  3833. listening), valued added network suppliers (MCI, Telenet -- don't miss this  
  3834. untapped market),  and the major modem manufacturers (Hayes,  Rixon, Racal- 
  3835. Vadic) could be held in Washington in 1985 (at the FCC). The RBBS-PC SYSOPS  
  3836. are  not found in the big corporations -- the Fortune 500 have their  super  
  3837. mainframes.   It  is  in  the  millions  of  small  businesses,  non-profit  
  3838. associations,  educational  institutions that the RBBS concept has found  a  
  3839. home.    As  I expect most who would attend would be paying their own  way,  
  3840.  
  3841.                        Page 60 of 77
  3842. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3843.  
  3844. the  first  conference  would  probably  consist of  that  small  "band  of  
  3845. brothers"  who  have  set  up boards out of  the  intensity  of  their  own  
  3846. commitment.  If  you  are with a manufacturer that might be  interested  in  
  3847. sponsoring  such a meeting in 1985,  work with your organization to make it  
  3848. happen!  If  in  the  normal course of your business  contacts  you  see  a  
  3849. potential  sponsor  of  such  a conference,  persuade  them  to  look  into  
  3850. sponsoring  it.  My  own  vision of such a conference is sort of  a  1980's  
  3851. electronic  "Woodstock"  -- if  for no other reason  because  of  the  very  
  3852. "volks" nature of SYSOPS.   It has been a long time since Washington,  D.C.  
  3853. has had a conference "of the people, by the people, and for the people." If  
  3854. you are interested, drop me a line here in Great Falls, Va.
  3855.  
  3856. These  are  only just a few of the ideas that come to mind for  RBBS-PC  in  
  3857. August of 1985.  It will be interesting to see how it evolves.
  3858.  
  3859.  
  3860.  
  3861.  
  3862.  
  3863.  
  3864.  
  3865.  
  3866.  
  3867.  
  3868.  
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.  
  3889.  
  3890.  
  3891.  
  3892.  
  3893.  
  3894.  
  3895.  
  3896.  
  3897.  
  3898.  
  3899.  
  3900.  
  3901.  
  3902.  
  3903.  
  3904.  
  3905.                        Page 61 of 77
  3906. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3907.  
  3908. APPENDIX A -- RBBS-PC Record Formats
  3909. ------------------------------------
  3910. This  appendix  is intended to document the record formats of some  of  the  
  3911. more significant records used within RBBS-PC.   As such it is intended more  
  3912. as  a  "programmers  guide" for those who wish to write  RBBS-PC  utilities  
  3913. rather than as "user documentation."  No record format is "sacrosanct"  and  
  3914. may  change  in  future  releases.   However  such  changes  are  not  done  
  3915. capriciously  and,  when  they are done,  are accompanied by  some  utility  
  3916. program  that  will  allow the old files to be  reformatted  into  the  new  
  3917. format.
  3918.  
  3919. The MESSAGES file contains the messages that have been left on RBBS-PC.  It  
  3920. is  a random file with 128-byte records.   The first record of the MESSAGES 
  3921. file  acts  as  RBBS-PC's "checkpoint"  record.   The  records  immediately 
  3922. following  this first record are the RBBS-PC "node" records.   Each  "node" 
  3923. record represents the activity/options associated with a particular copy of 
  3924. RBBS-PC  ("node").   There  can  be up to nine copies  of  RBBS-PC  running 
  3925. simultaneous  sharing the same set of static files and therefore there  can 
  3926. be up to nine "node" records following the "checkpoint" record.  
  3927.  
  3928. The MESSAGES file has the following logical format:
  3929.  
  3930.            +----------------------------------------------+
  3931. Record #1  |  RBBS-PC "checkpoint" record                 |
  3932.            +----------------------------------------------+
  3933. Record #2  |  RBBS-PC "node" record for node # 1          |
  3934.            |                                              |
  3935.            |            up to                             |
  3936.            |                                              |
  3937.            |  RBBS-PC "node" record for node # 9          |
  3938.            +----------------------------------------------+
  3939.            |  First Record in Message portion of file     |
  3940.            +----------------------------------------------+
  3941.            |                                              |
  3942.            \  Message records that have been used         \
  3943.            \                                              \ 
  3944.            |                                              |
  3945.            +----------------------------------------------+
  3946.            |  Record available for next message           |
  3947.            +----------------------------------------------+
  3948.            |  Last record available in MESSAGES file      |
  3949.            +----------------------------------------------+
  3950.  
  3951.  
  3952.  
  3953.  
  3954.  
  3955.  
  3956.  
  3957.  
  3958.  
  3959.  
  3960.  
  3961.  
  3962.  
  3963.  
  3964.  
  3965.  
  3966.  
  3967.  
  3968.  
  3969.                        Page 62 of 77
  3970. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  3971.  
  3972. The  FIRST RECORD of the "MESSAGES" file acts as a "checkpoint" record  for 
  3973. all  the  multiple  RBBS-PC's that may be sharing the  MESSAGES  and  USERS 
  3974. files.  It contains information  critical  to  maintaining the integrity of 
  3975. these two files.   The layout of RBBS-PC  Message  File  Record Number 1 is 
  3976. as follows:
  3977.  
  3978. Position Length Name      Description
  3979.  
  3980.   1 -  8     8   LE    Number of last message on system
  3981.   9 - 10     2   --- RESERVED FOR FUTURE USE ----
  3982.  11 - 20    10   CJ    Current caller number
  3983.  21 - 51    31   --- RESERVED FOR FUTURE USE ----
  3984.  52 - 56     5         Record Number of first record in the USERS file
  3985.  57 - 61     5   NUR   Record Number of the next available record in the 
  3986.                        USERS file
  3987.  62 - 66     5   HUR   Record Number of the last record in the USERS file
  3988.     67       1         Reserved for Node ID currently reserving the USERS
  3989.                        file 
  3990.  68 - 74     7   FMR   Record Number where "messages" portion of the 
  3991.                        MESSAGES file begins
  3992.  75 - 81     7   NMR   Record Number of the next available record in the 
  3993.                        MESSAGES file where the next message may be written
  3994.  82 - 88     7   HMR   Record Number of the last record in the MESSAGES file
  3995.  89 - 95     7   ME    Maximum number of messages allowed in the MESSAGES file
  3996.  96 - 97     2         Reserved for Node ID currently reserving the MESSAGES
  3997.                        file
  3998.  98 -126    29   --- RESERVED FOR FUTURE USE ----
  3999. 127 -128     2 MNDODES Maximum number of RBBS-PC's sharing this MESSAGES file
  4000.  
  4001. As a programming reference,  line 23000 of the BASIC source code for  RBBS-
  4002. PC.BAS contains the code for reading this "checkpoint" record.
  4003.  
  4004.  
  4005.  
  4006.  
  4007.  
  4008.  
  4009.  
  4010.  
  4011.  
  4012.  
  4013.  
  4014.  
  4015.  
  4016.  
  4017.  
  4018.  
  4019.  
  4020.  
  4021.  
  4022.  
  4023.  
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030.  
  4031.  
  4032.  
  4033.                        Page 63 of 77
  4034. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4035.  
  4036. Following the first record of the MESSAGES file are from one to nine "node" 
  4037. records.   Each  "node"  record  contains information   critical   to   the 
  4038. running of that copy of RBBS-PC associated with that "node".  The layout of 
  4039. each RBBS-PC  "node" record is as follows:
  4040.  
  4041. Position Length Name      Description
  4042.  
  4043.   1 - 31    31 NAM$ Name of last person on this copy of RBBS-PC
  4044.  32 - 33     2  AVA Available indicator for SYSOP
  4045.  34 - 35     2   AC Annoy indicator for SYSOP
  4046.  36 - 37     2   SG Indicator that the SYSOP is next on the system
  4047.  38 - 39     2   LH Line printer available indicator
  4048.  40 - 41     2   WI Window's availability indicator
  4049.  42 - 43     2   BE Eight bit transmission indicator
  4050.  44 - 45     2  BPS Baud rate. -1 = 300, -2 = 450, -3 = 1200, -4 = 2400
  4051.  46 - 47     2   UC Upper case indicator
  4052.  48 - 52     5  TR! Time remaining on the system
  4053.  53 - 54     2   GR Graphics indicator
  4054.  55 - 56     2   SH SYSOP indicator
  4055.     57       1      Activity indicator (I=inactive, A=active)
  4056.  58 -128    71 ---- RESERVED FOR FUTURE USE ----
  4057.  
  4058. As a programming reference,  review lines 175, 844, 13549, 43070, AND 44000 
  4059. of  the   BASIC  source code for RBBS-PC.BAS to see how  these  fields  are 
  4060. set/used.
  4061.  
  4062. A message within the messages file consists of a MESSAGE HEADER followed by  
  4063. the text of the message.   The RBBS-PC Message File "message header" record  
  4064. layout is as follows:
  4065.  
  4066. Position Length Name      Description
  4067.  
  4068.     1        1      Contains an "*" for read-only messages, blank otherwise
  4069.   2 -  5     4  MT$ Message number of this message
  4070.   6 - 36    31  FI$ The name of the person the message is from
  4071.  37 - 57    21   T$ The name of the person to whom the message is sent
  4072.  58 - 65     8      Time of day that the message was sent (HH:MM:SS)
  4073.  66 - 66     1      Blank
  4074.  67 - 75     9   D$ Date the message was sent (MM-DD-YY)
  4075.  76 -100    25 SUB$ Subject of the message
  4076. 101 -115    15 PAS$ Password for the message (if any)
  4077. 116 -116     1      "Active" message indicator = hex 225
  4078.                     "Killed" message indicator = hex 226
  4079. 117 -122     6   N$ Number of 128-byte records for this message --
  4080.                     including the the "message header" record.
  4081. 122 -128     7 ---- RESERVED FOR FUTURE USE ----
  4082.  
  4083.  
  4084.  
  4085.  
  4086.  
  4087.  
  4088.  
  4089.  
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.  
  4097.                        Page 64 of 77
  4098. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4099.  
  4100. Each  record  following the MESSAGE HEADER record is a MESSAGE TEXT  record  
  4101. and  consists  of 128 characters.   Each of these  128-byte  message  text"  
  4102. records contains the message text.   The end of each line in the message is  
  4103. followed  by  an  RBBS-PC  "end-of-line"  indicator which  is  equal  to  a  
  4104. hexadecimal 225.  This allows RBBS-PC to "pack" multiple message lines in a  
  4105. single 128-byte record.
  4106.  
  4107. The  USERS  file contains information that is unique to each  RBBS-PC  user  
  4108. that  logs on.   It is a random file with 128-byte records.  The layout  of  
  4109. each users record within the USERS file is as follows:
  4110.  
  4111. Position Length Name      Description
  4112.  
  4113.   1 - 31    31   N$ Users first and last name (separated by a blank).
  4114.  32 - 46    15  PW$ Users password for logon.
  4115.  47 - 48     2   SL Users security level (permanent).
  4116.  49 - 62    14  OP$ Users logon options (see detail breakdown below).
  4117.  
  4118.          Length Name      Description
  4119.  49 - 50     2   TGA   Number of times the user has logged on
  4120.  51 - 52     2    LO   Last message number read by the user
  4121.     53       1 LG$(20) Protocol Preference (X, A, M, blank)
  4122.     54       1    GR   Graphics 0-text, 1-graphics, 2-color
  4123.  55 - 56     2    MQ   Margin length for this users messages
  4124.  57 - 58     2         Bit Flag -- this 16-bit field is denoted by bit 0
  4125.                        being the least significant (i.e. right-most bit)
  4126.                        and bit 15 being the most significant (i.e. left-
  4127.                        most bit).  These "bit flags" have the following
  4128.                        meanings (0=off, 1=on):
  4129.  
  4130.                        BIT    Definition
  4131.                         0     Bell prompts
  4132.                         1     "Expert" mode
  4133.                         2     Nulls
  4134.                         3     Upper case only
  4135.                         4     Line feeds
  4136.                        5-15   RESERVED FOR FUTURE USE
  4137.  
  4138.  59 - 60     2  ------- RESERVED FOR FUTURE USE ---------
  4139.     61       1    PL Page length to use for this users terminal
  4140.     62       1  ------- RESERVED FOR FUTURE USE ---------
  4141.             ---
  4142.             14
  4143.  
  4144.  63 - 86    24  CS$ City and state from which the user is calling.
  4145.  87 -105    19  MA$ Machine the user is utilizing to call RBBS-PC.
  4146. 106 -119    14  TD$ Date and time user was last on (MM-DD-YY HH:MM).
  4147. 120 -122     3 LND$ Date user last listed a directory.
  4148. 123 -124     2 UDL$ Number of downloads done by the user.
  4149. 125 -126     2 UUL$ Number of uploads done by the user.
  4150. 127 -128     2  ET$ elapsed time the user was on for day of last access.
  4151.  
  4152. As  a programming reference,  line 9400 of the BASIC source code for  RBBS- 
  4153. PC.BAS contains the code for opening this file.
  4154.  
  4155.  
  4156.  
  4157.  
  4158.  
  4159.  
  4160.  
  4161.                        Page 65 of 77
  4162. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4163.  
  4164. APPENDIX B -- RBBS-PC Vendor Protocol Interface Specifications
  4165. --------------------------------------------------------------
  4166. Before  calling the vendor's protocol handling routine RBBS-PC will perform 
  4167. the following:
  4168.  
  4169.     1. verify that the file exists if the file is to be downloaded.
  4170.     2. verify that the file name requested is  valid if the file is
  4171.        to be uploaded.
  4172.     3. pass  the  communications  port  to  the  vendor's  protocol
  4173.        handling routine with the file opened and carrier detect on.
  4174.  
  4175. RBBS-PC will call the vendor's protocol handling routine as a standard call 
  4176. from  the  IBM  BASIC language that has been processed  by  the  IBM  BASIC 
  4177. compiler.  Hence the protocol handling routine can expect to receive/return 
  4178. a  parameter list as generated by the IBM BASIC compiler.   The call to the 
  4179. vendor's protocol handling routine, XYZ, is as follows:
  4180.  
  4181.                     CALL XYZ(IM,F$,CP$,BPS)
  4182.  
  4183. Where these four parameters have the following meanings:
  4184.  
  4185.        IM -- an  integer  indicating  the direction of  the  file 
  4186.              transfer.  The values are:
  4187.  
  4188.              1 -- download (from RBBS-PC to caller).
  4189.              2 -- upload (from the caller to RBBS-PC).
  4190.  
  4191. NOTE  -- IM  is  utilized  by the vendor's  protocol  handling  routine  to 
  4192. indicate  the  results of the file transfer.   When the  vendor's  protocol 
  4193. handling routine returns to RBBS-PC it sets IM as follows:
  4194.  
  4195.              1 -- file transfer successful
  4196.              2 -- file transfer unsuccessful
  4197.  
  4198.        F$ -- a  string which  fully specifies the file name to be 
  4199.              used in the file transfer.   File names are  limited 
  4200.              in  length  to  40 bytes and the standard  IBM  file 
  4201.              naming conventions.   Files with extensions of .COM, 
  4202.              .OBJ,  or .EXE are always considered "binary"  files 
  4203.              and transferred accordingly.
  4204.  
  4205.        CP$ - a string which designates the communication port  to 
  4206.              be used.  The values are:
  4207.  
  4208.              COM1 -- communication port 1
  4209.              COM2 -- communication port 2
  4210.  
  4211.        BPS - an  integer value which  indicates the baud rate  of 
  4212.              the caller.  The values are:
  4213.  
  4214.              -1 =   300 bps
  4215.              -2 =   450 bps
  4216.              -3 =  1200 bps
  4217.              -4 =  2400 bps
  4218.              -5 =  4800 bps
  4219.              -6 =  9600 bps
  4220.              -7 = 19200 bps
  4221.  
  4222.  
  4223.  
  4224.  
  4225.                        Page 66 of 77
  4226. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4227.  
  4228. APPENDIX C -- RBBS-PC in a MultiLink Environment
  4229. ------------------------------------------------
  4230. RBBS-PC  CPC12-5B can be run in a MultiLink Environment (i.e.  IBM's PC DOS 
  4231. with the multi-tasking software product "MultiLink" from the Software Link, 
  4232. Inc.).  RBBS-PC will utilize MultiLink's "enque" mechanism for file sharing 
  4233. (i.e. resource sharing).  
  4234.  
  4235. CONFIG's  parameter 122 is how RBBS-PC knows that it will be running  in  a 
  4236. MultiLink  environment.   This  is  ESSENTIAL when  running  RBBS-PC  under 
  4237. MultiLink.  CONFIG allows the SYSOP to specify what MultiLink terminal type 
  4238. code to pass to MultiLink whenever RBBS-PC exits to DOS via a "Door".  Page 
  4239. 15  of  the  MultiLink documentation specifies the  various  terminal  type 
  4240. codes.  When a SYSOP indicates that "doors" are available (via parameter 81 
  4241. of  CONFIG.BAS) and RBBS-PC is to be run under MultiLink the SYSOP is asked 
  4242. to  select  the MultiLink terminal type RBBS-PC is to inform  MultiLink  to 
  4243. expect when MultiLink is given control of the "Door."
  4244.  
  4245. RBBS-PC  CPC12-5B has been tested running two copies of RBBS-PC  under  DOS 
  4246. 2.1  and MultiLink Advanced (version 3.01) on an IBM PC which had a  mother 
  4247. board  containing  64K  and an AST Comboplus board with 384K  (a  total  of 
  4248. 448K).   The  "autoexec"  file  was named AUTOEXEC.BAT  and  contained  the 
  4249. following parameters
  4250.  
  4251.                     MLINK /9,152/9,152
  4252.  
  4253. It  is important to avoid doing several things when running  RBBS-PC  under 
  4254. MultiLink.  First NEVER RUN MLSLICE!  This is because MLSLICE hangs off the 
  4255. PC's  timer  chain and the code generated by IBM's BASIC compiler  violates 
  4256. also  sorts  of DOS conventions whenever it is utilizing the  PC's  speaker 
  4257. (i.e. as when RBBS-PC pages the SYSOP).  In so doing, the code generated by 
  4258. IBM's  BASIC  compiler  is incompatible with programs that  do  follow  DOS 
  4259. conventions.  
  4260.  
  4261. Second NEVER use the DOS "PRINT" command!   This is because there is a  bug 
  4262. in  the code generated by the BASIC compiler that causes the system to hang 
  4263. if a compiled BASIC program is running and DOS is printing something.  This 
  4264. bug  has  been corrected in the BASIC compiler that was  used  to  generate 
  4265. RBBS-PC.EXE  that is distributed.   However the version of RBBS-PC that you 
  4266. get (if other than from CPCUG) may not have this bug corrected.   This is a 
  4267. bug that occurs independent of running MultiLink.
  4268.  
  4269. Third,  check your Intel 8088 chip's copyright date by opening up the cover 
  4270. and  locating the 8088 chip.  If the copyright date printed on the chip  is 
  4271. 1978 (i.e. pre 1981), REPLACE THE INTEL 8088 CHIP!!!!!  The 1978 Intel 8088 
  4272. chip  had several design flaws that will cause your system to  occasionally 
  4273. lock up.  One of these design flaws allowed interrupts to occur while stack 
  4274. switching  (something  that will happen running multiple  partitions  doing 
  4275. disk I/O under any multi-tasking DOS add-on such as MultiLink or even IBM's 
  4276. TopView).   Don't  blame MultiLink for the flawed Intel 8088 chip that  IBM 
  4277. put  in your PC!   It costs about $70 ($35 for the chip and $35 for  labor) 
  4278. and takes about 15 minutes to have the 1978 Intel 8088 chip replaced.
  4279.  
  4280. Fourth,  DON'T  USE "BUFFERS=" in the CONFIG.SYS for DOS!   This may be  an 
  4281. "old  wives  tale,"  but I am convinced (but can't prove)  that  there  are 
  4282. incompatabilities between the code the BASIC compiler generates,  DOS's use 
  4283. of "BUFFERS=", and MultiLink.  
  4284.  
  4285. Fifth,  DON'T  ALLOW MNP PROTOCOL for file transfers.   An  incompatability 
  4286. exists  between  the Software Link,  Inc.'s Multi-Link and  MICROCOM's  MNP 
  4287. software.   Until  the  respective vendor's resolve this,  don't  use  both 
  4288.  
  4289.                        Page 67 of 77
  4290. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4291.  
  4292. products concurrently! 
  4293.  
  4294. Finally,  DON'T  RUN  PROGRAMS THAT USE THE BASIC  "RUN-TIME"  LIBRARY  and 
  4295. always  invoke the BASIC interperter with the command BASIC C:0!   Both the 
  4296. BASIC interperter's handling of communications ports and BASRUN.EXE seem to 
  4297. violate enough DOS conventions to "lock up" MultiLink.
  4298.  
  4299. When  RBBS-PC detects that it is running in a MultiLink environment it will 
  4300. automatically do the following:
  4301.  
  4302.     1.  When re-cycling, it will automatically enque on the correct
  4303.         MultiLink resource ID for the communications port defined
  4304.         in CONFIG for that copy of RBBS-PC to use.
  4305.  
  4306.     2.  When re-cycling, it will automatically tell MultiLink that
  4307.         this is a type "9" partition (i.e. MultiLink is NOT to handle
  4308.         the communications port).
  4309.  
  4310.     3.  When exiting to DOS (either via the SYSOP option 7 or via a
  4311.         "door", RBBS-PC will automatically tell MultiLink to start
  4312.         handling the communications for this partition (COM1 or COM2)
  4313.         and what type of terminal was defined in CONFIG that would
  4314.         be on the communications port (MultiLink terminal types 1
  4315.         through 12).
  4316.  
  4317. It  is possible to manually bring up one copy of RBBS-PC running under  one 
  4318. of  MultiLink's  partition.   The  only  way  that  I  have  been  able  to 
  4319. successfully  bring up two copies of RBBS-PC (one copy running in  each  of 
  4320. two  partitions)  under MultiLink is to bring them up via AUTOEXE1.BAT  and 
  4321. AUTOEXE2.BAT files.   It appears,  at least in 3.01 of MultiLink  Advanced, 
  4322. that  during the MultiLink initialization sequence when the partitions  are 
  4323. being  established  and  the "AUTOEXEx.BAT" files are  being  invoked  that 
  4324. MultiLink  doesn't get "confused" and lock up with a second copy of RBBS-PC 
  4325. present.   
  4326.  
  4327.  
  4328.  
  4329.  
  4330.  
  4331.  
  4332.  
  4333.  
  4334.  
  4335.  
  4336.  
  4337.  
  4338.  
  4339.  
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.  
  4351.  
  4352.  
  4353.                        Page 68 of 77
  4354. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4355.  
  4356. APPENDIX D -- RBBS-PC in a CORVUS Network
  4357. -----------------------------------------
  4358. RBBS-PC  uses  the  standard Corvus SEMAPHORES  when  sharing  files  among 
  4359. multiple  copies of RBBS-PC within a Corvus Network.   This is accomplished 
  4360. via  the MS-DOS utility driver,  DRIVEC2,  that Corvus supplies  with  it's 
  4361. network.  
  4362.  
  4363. On a multi-server Corvus network (i.e. where there are multiple shared hard 
  4364. disk  drives)  all PC's that are running RBBS-PC within the Corvus  network 
  4365. MUST  have their "home volume" on the same server.   Corvus maintains  each 
  4366. PC's  semaphores  on that PC's "home volume".   In order to  "share"  files 
  4367. among  various PC's in a Corvus network,  all the PC's that  are  "sharing" 
  4368. must  also  be looking at the same set of semaphores.   In a  single-server 
  4369. Corvus network this is not a consideration because there is only one  "home 
  4370. volume."  
  4371.  
  4372. RBBS-PC  has  only been tested with the Corvus CONSTELLATION  II  interface 
  4373. cards  and  software that Corvus provides for the IBM PC.   RBBS-PC  should 
  4374. work  with both Corvus' older "flat cable" network as well as  their  newer 
  4375. OMNINET  twisted  wire  pair cable network when  running  CONSTELLATION  II 
  4376. software.   It  is  entirely  possible that RBBS-PC would  work  with  some 
  4377. combination  of  both  Corvus network types as long as  they  were  running 
  4378. CONSTELLATION II software.
  4379.  
  4380. It  should  be self-evident that every PC within a Corvus  network  running 
  4381. RBBS-PC  must have a Corvus interface card.   If multiple copies of RBBS-PC 
  4382. are  running in a Corvus network that is using older Corvus software  (i.e. 
  4383. NOT running the CONSTELLATION II software),  the interface cards  must,  at 
  4384. least, all have the CONSTELLATION II ROM. 
  4385.  
  4386. RBBS-PC is only tested to run on IBM PC's within a Corvus network.  Clearly 
  4387. an  IBM "clone" that can run IBM's DOS,  RBBS-PC.EXE,  and is supported  by 
  4388. Corvus' network should also work.   However, such configurations (and their 
  4389. infinite  variations) are not part of the environment within which  RBBS-PC 
  4390. is tested and supported.  
  4391.  
  4392.  
  4393.  
  4394.  
  4395.  
  4396.  
  4397.  
  4398.  
  4399.  
  4400.  
  4401.  
  4402.  
  4403.  
  4404.  
  4405.  
  4406.  
  4407.  
  4408.  
  4409.  
  4410.  
  4411.  
  4412.  
  4413.  
  4414.  
  4415.  
  4416.  
  4417.                        Page 69 of 77
  4418. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4419.  
  4420. APPENDIX E -- RBBS-PC in a ORCHID PCnet NETWORK or AST PCnet NETWORK
  4421. --------------------------------------------------------------------
  4422. RBBS-PC  CPC12-5B can be implemented on a Orchid PCnet or AST PCnet Network 
  4423. environment  using IBM's PC DOS ver 2.x 3.x and Orchid PCnet ver 2.4c  3.0a 
  4424. and network interface boards or PC DOS ver 2.x 3.0 and AST PCnet Networking 
  4425. software ver 3.10 with their respective boards.  Hardware in which this has 
  4426. been tested included IBM's PC,XT,AT,(PC clones).  The AT was also tested at 
  4427. clock  speeds as high as 9megs with no problems as a non-dedicated  server. 
  4428. RBBS-PC  uses non standard Orchid-AST SEMAPHORES when sharing  files  among 
  4429. multiple  copies of RBBS-PC within a Orchid or AST Network.
  4430.  
  4431. RBBS-PC calls the MS-DOS utility driver,  PC-NET, that is supplied with the 
  4432. pcnet as a low-level function call (int 67) to lock,  unlock, and loop-lock 
  4433. semaphore names.  RBBS-PC uses the drive letter and not the drive number in 
  4434. the  argument  to specify drive of a network drive;  (the server  providing 
  4435. this  drive will hold the lock).  In order to get the file sharing to  lock 
  4436. and  unlock properly a few guide lines should be followed.  All the  system 
  4437. files  used  in RBBS-PC should use the same drive letter on the  server  as 
  4438. well as all workstations,  therefore all semaphores names will be the  same 
  4439. on all nodes.  Example: if messages and users are on E:drive at the server, 
  4440. all  the workstations (uPC's) will have to setup their network drive  table 
  4441. so that the workstation drive e:  is in fact drive e:  on the server.  This 
  4442. should  all fall in place if the workstations are two floppy  systems.  The 
  4443. problem  will  occur  if one or more of the workstations  has  more  drives 
  4444. locally than two floppy drives.  In that case, rearrange the drive table on 
  4445. the workstation  in any order of drive letter,  but do not skip any logical 
  4446. drives in the final uPC map.
  4447.  
  4448. Tips on running RBBS-PC and PCnet
  4449.  
  4450. 1.  Server will work in dedicated or non-dedicated modes.
  4451.  
  4452. 2.  Mono  Screen should be used on the server,  graphics screen causes  all 
  4453.     the nodes to blink on and off as the user accesses the system files.  I 
  4454.     find that a mono screen on the server and any combination on the  uPC's 
  4455.     corrects the problem.
  4456.  
  4457. 3.  Do not use BUFFER=  on the server.  UPC's updates to users and messages 
  4458.     files  will be lost or over written on the system,  and finally  become 
  4459.     one big mess of useless data.
  4460.  
  4461. 4.  All  volumes accessed by any copy of RBBS-PC must be designated read  / 
  4462.     write because RBBS-PC uses the name function in order to determine if a 
  4463.     file exists on all the drives in the search for a file.
  4464.  
  4465. 5.  All  remote  sysop activity should be done on a uPC.  The server  never 
  4466.     goes back to the batch file if access in remote takes place.
  4467.  
  4468. 6.  The  best  system  performance is achieved if PCCACHE is  used  on  the 
  4469.     server.   All downloads and upload activity is done by the cacche.  The 
  4470.     system is fast and the hard disk heads are spared the job of keeping up 
  4471.     with  4  users all downloading a different file at  the  same  time.  A 
  4472.     typical download of 80k file is just 2 to 3 reads from the drive,  same 
  4473.     for uploads except it's a write of 2 or 3 times to the drive.
  4474.  
  4475. 7.  If  you  have the room locally,  keep all the DIR.DIR and  aa.dir  thru 
  4476.     zz.dir on the local volume, as well as all the menus and help files.
  4477.  
  4478. 8.  Large  ram disks will improve the performance on all nodes.   One  such 
  4479.     ram  drive that was found to work with PCnet is TALL TREES SYSTEMS JRAM 
  4480.  
  4481.                        Page 70 of 77
  4482. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4483.  
  4484.     and  JRAM-2  boards.  You will have to use the JBOOT.BIN as  the  first 
  4485.     entry  in  the config.sys to use jram,  even though PCnet said  to  use 
  4486.     their drivers first in config.sys. Putting the file menus, helps, dirs, 
  4487.     etc.  in the ram disk makes the system very fast. Using the set comspec 
  4488.     in  dos 3.x is also helpful.  If booting from a floppy on the  network, 
  4489.     use  set comspec command (set environment) to find command.com  on  the 
  4490.     ram disk.
  4491.  
  4492. 9.  The snoop key should be used with caution.  If you toggle snoop on as a 
  4493.     user is first logging on the system,  you may lock up that node.   Once 
  4494.     that node is locked up all calls to the other nodes will lock up one by 
  4495.     one. What happens is RBBS locks the message file as a user comes on the 
  4496.     system,  at  the same time you are also locking the message file  using 
  4497.     the snoop on function locally.  The outcome is the message file becomes 
  4498.     locked  permanently.  No other node can read the message file from that 
  4499.     point on.
  4500.  
  4501.  
  4502.  
  4503.  
  4504.  
  4505.  
  4506.  
  4507.  
  4508.  
  4509.  
  4510.  
  4511.  
  4512.  
  4513.  
  4514.  
  4515.  
  4516.  
  4517.  
  4518.  
  4519.  
  4520.  
  4521.  
  4522.  
  4523.  
  4524.  
  4525.  
  4526.  
  4527.  
  4528.  
  4529.  
  4530.  
  4531.  
  4532.  
  4533.  
  4534.  
  4535.  
  4536.  
  4537.  
  4538.  
  4539.  
  4540.  
  4541.  
  4542.  
  4543.  
  4544.  
  4545.                        Page 71 of 77
  4546. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4547.  
  4548. APPENDIX F -- RBBS-PC and the Hearing Impaired
  4549. ----------------------------------------------
  4550. Telecommunications  Devices  for the Deaf (TDD's) use the Baudot  character 
  4551. set  (i.e.  5-bit) and utilize modems that transmit at 45 baud and  do  not 
  4552. generate  a  carrier signal.   This is primarily because such devices  were 
  4553. initally  adaptions  of surplus Western Union TTY  machines  for  telephone 
  4554. communications.   The  widespread  use  of Baudot devices  by  the  hearing 
  4555. impaired,  the previous high cost of computers and modems,  and the lack of 
  4556. software designed for electronic communications like RBBS-PC,  has impedded 
  4557. the change to ASCII communiations by the hearing impaired community.
  4558.  
  4559. Unfortunately,  equipment manufacturers have also made it difficult for the 
  4560. deaf  to change.   When TDD's with ASCII code transmission capability began 
  4561. to be offered,  the majority of manufacturers limited them to only 110 baud 
  4562. and put disclaimers in their manuals that said ASCII was available for  use 
  4563. but  that "computer language" was "less reliable" and hard to  use.   Their 
  4564. limiting  of  the  TDD's  output  screen to 12  to  20  characters  further 
  4565. compounded the problem because the screen would overwrite several times  to 
  4566. display one line of text from a host system.  The manufacturers' "solution" 
  4567. to  this  problem was to recommend printers for communication with  a  host 
  4568. system  (i.e.  RBBS-PC) -- necessitating the printing out of all menus  (at 
  4569. 110  baud!!!!).   Some  units  now  offer  both  110  and  300  baud  ASCII 
  4570. transmission  in  addition  to the 45  baud  Baudot.   Unfortunately  these 
  4571. typically only have 20 character screens.
  4572.  
  4573. After  the  release  of  CPC12-3B  in December  of  1984,  Ted  Janossy  of 
  4574. Rochester,  Minnesota  sent  me a three-page letter  describing  the  above 
  4575. situation.   Ted's  letter motivated me to test and verify the  "ring-back" 
  4576. feature  of  RBBS-PC  in  CPC12-4A.    It had not been  tested  in  earlier 
  4577. versions  because  I had assumed (presumptiously  and  insensitively)  that 
  4578. "real  SYSOP's don't use ring-back RBBS-PC's."  Ted's letter awakened me to 
  4579. the  potential  of RBBS-PC to facilitate communications among  the  hearing 
  4580. impaired.  In the awakening I also had a chance to look down at my own feet 
  4581. of clay.
  4582.  
  4583. Using  option 9 of CONFIG,  RBBS-PC can be configured to answer calls  only 
  4584. after a specified number of rings (i.e.  15).  The telephone companies wire 
  4585. the  homes  of  the hearing impaired such that when the  phone  rings,  the 
  4586. lights  within  the house flash on and off.  
  4587.  
  4588. With  CPC12-4A  a SYSOP can specify the number of rings RBBS-PC is to  wait 
  4589. before automatically answering the phone.   Setting this number high enough 
  4590. allows  someone  with  a hearing impairment time enough to get  to  the  PC 
  4591. running RBBS-PC.   Pressing the PC's function key 5 (F5), causes RBBS-PC to 
  4592. immediately  answer the phone.   The caller would know that someone was  at 
  4593. the  keyboard  because RBBS-PC answered the phone in less than  the  agreed 
  4594. upon number of rings.   The caller would log on to RBBS-PC normally and the 
  4595. person at the PC keyboard would be able to see who it was.   If the  person 
  4596. who was called wanted to "chat" with the individual, all they would have to 
  4597. do would be to press function key 10 (F10). 
  4598.  
  4599. If  RBBS-PC  didn't answer the telephone within the agreed upon  number  of 
  4600. rings,  the caller would know that whomever he was calling couldn't come to 
  4601. the keyboard.  The caller would then log on and leave a message on RBBS-PC.
  4602.  
  4603. I  would  like to thank Ted and his wife,  Sue,  for caring enough to  show 
  4604. where  RBBS-PC  might  fulfill one of  it's  primary  purposes,  "the  free 
  4605. exchange of information," by enhancing telecommunications for the deaf. 
  4606.  
  4607.  
  4608.  
  4609.                        Page 72 of 77
  4610. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4611.  
  4612. APPENDIX G -- RBBS-PC and the IBM PCjr
  4613. --------------------------------------
  4614. RBBS-PC adheres to the Hayes standards for autoanswer applications that are 
  4615. described in Chapter 9,  "Writing Programs for the Smartmodem 1200," of the 
  4616. the SMARTMODEM 1200 HARDWARE REFERENCE MANUAL.   Under the section entitled 
  4617. "Additional   Program  Considerations"  Hayes  recommends  that  autoanswer 
  4618. applications (like RBBS-PC) "...  force the modem to answer the call  (ATA) 
  4619. rather  than  allowing the modem to automatically  answer...."    Beginning 
  4620. with CPC12-5B,  RBBS-PC no longer depends on the Ring Indicator signal from 
  4621. the  modem  (pin 22) in order to answer the phone (except if  option  9  of 
  4622. CONFIG is non-zero).
  4623.  
  4624. Here are some facts about the PCjr:
  4625.  
  4626. 1.   The  PCjr's  external modem interface does not have a  Ring  Indicator 
  4627. signal.
  4628.  
  4629. 2.   The  PCjr  requires  that an external modem be opened as  COM1  if  no 
  4630. internal modem is installed.  However, if no internal modem exists the PCjr 
  4631. requires  that  the COM2 RS232 registers be used even though the  port  has 
  4632. been  opened as COM1.   Technically this is described as using the external 
  4633. RS232   asynchronous  adapter  as  logical  channel  1  (i.e.   COM1)   but 
  4634. manipulating it as physical channel 2 (i.e.  COM2).   This occurs on a PCjr 
  4635. only   when  an  internal   modem is NOT present  and  the  external  RS232 
  4636. interface is.
  4637.  
  4638. 3.  The 128K PCjr only provides 90K of usable RAM (the rest is used by DOS, 
  4639. the monitor's buffers,  etc.).   Fortunately PCjr owners can get up to 256K 
  4640. of  RAM  with  "add-on" equipment (from IBM and others) in  order  to  have 
  4641. enough RAM for RBBS-PC to run in.
  4642.  
  4643. Here are some facts about RBBS-PC
  4644.  
  4645. 1.  CPC12-5B does not require the Ring Indicator signal in normal operation 
  4646. (i.e. CONFIG option 9 set to zero).
  4647.  
  4648. 2.  RBBS-PC requires 192K of RAM
  4649.  
  4650. 3.  RBBS-PC treats COM1 as if it where physical channel 1 and COM2 as if it 
  4651. where physical channel 2 when examining the RS232 interface's registers for 
  4652. carrier detect, etc. 
  4653.  
  4654. Therefore,  I  believe that RBBS-PC CPC12-5B would operate unmodified on  a 
  4655. PCjr  with  256K of RAM and both an internal modem (forever unused) and  an 
  4656. external Hayes 1200 (or 100% compatable!!) modem.
  4657.  
  4658. Several  individuals  have advised me that they have been  able  to  modify 
  4659. RBBS-PC to run on the IBM PCjr.   While none have taken the trouble to send 
  4660. me  any .MRG or .DOC files (see section 1.4) adopting RBBS-PC to the  PCjr, 
  4661. Steve Smith did tell me how he was able to do it for the PCjr's  "internal" 
  4662. modem.  Essentially in order to use the PCjr's "internal" modem:
  4663.  
  4664.     1.  The communication port must be opened at 300 baud, N, 8, 1
  4665.         (which RBBS-PC does).
  4666.     2.  The modem commands for the internal modem are Ctrl N rather
  4667.         than the Hayes "AT" standard.  Therefore the Hayes commands
  4668.         (i.e. string constants that begin with "AT) should be changed
  4669.         to Ctrl N.
  4670.     3.  Almost all the Hayes commands (i.e. "A" to answer the phone)
  4671.         are the same for the PCjr's internal modem and don't have to
  4672.  
  4673.                        Page 73 of 77
  4674. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4675.  
  4676.         be changed.
  4677.     4.  The line within RBBS-PC that tells the modem to answer the 
  4678.         phone (line number 320 in the source code) should be changed
  4679.         to have the following :
  4680.            
  4681.                  Ctrl N  -- Modem command indicator 
  4682.                  A       -- Modem command to answer the phone
  4683.                  T 0     -- Modem command to turn transparency on
  4684.                             so that "Ctrl N" sequences within XMODEM
  4685.                             file transfers aren't interperted by the
  4686.                             PCjr's internal modem as the begining of
  4687.                             a modem command string.  
  4688.  
  4689. Since the PCjr uses interrupt X'7F' which is one of the "unused" interrupts 
  4690. on  the  other PC's in the IBM family of personal computers,  Option 36  of 
  4691. CONFIG must be set to indicate that RBBS-PC is running on a non-IBM PC.
  4692.  
  4693. Those with further questions about running RBBS-PC on a PCjr should contact 
  4694. Steve  Smith  directly via his voice number (301) 921-0861 or via his  data 
  4695. number (301) 330-2784.
  4696.  
  4697. Since  all  changes  to RBBS-PC are "additive" (see  section  1.3),  anyone 
  4698. willing to document (via .DOC and .MRG files) how they adopted CPC12-5B  to 
  4699. run  on  ALL  of  IBM's PC's which can run IBM's DOS can  be  assured  such 
  4700. changes will be incorporated into future releases of RBBS-PC. 
  4701.  
  4702.  
  4703.  
  4704.  
  4705.  
  4706.  
  4707.  
  4708.  
  4709.  
  4710.  
  4711.  
  4712.  
  4713.  
  4714.  
  4715.  
  4716.  
  4717.  
  4718.  
  4719.  
  4720.  
  4721.  
  4722.  
  4723.  
  4724.  
  4725.  
  4726.  
  4727.  
  4728.  
  4729.  
  4730.  
  4731.  
  4732.  
  4733.  
  4734.  
  4735.  
  4736.  
  4737.                        Page 74 of 77
  4738. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4739.  
  4740. APPENDIX H -- RBBS-PC Subscription Service
  4741. ------------------------------------------
  4742. It  seems that many people absolutely must be on the bleeding edge of RBBS-
  4743. PC  and demand each new version as soon as possible after it  is  released.  
  4744. Since  downloading it from my RBBS-PC ususally keeps my board busy 24 hours 
  4745. a  day,  seven days a week when each new version is released and I want  my 
  4746. board  to be used to encourage and engage in discussions,  I am willing  to 
  4747. inaugurate an additional public service in order to free up my board.
  4748.  
  4749. Within the United States for $35 (prepaid by check or money order) you  can 
  4750. be guaranteed next day delivery of the very NEXT release of RBBS-PC just as 
  4751. I  mail it to the CPCUG Software Exchange.   The diskettes will be sent  to 
  4752. you  directly via Federal Express's "Courier-Pak" Overnight  Envelope.   In 
  4753. case you are wondering who gets the $35 it is allocated as follows:
  4754.  
  4755.    $ 25 -- Federal Express Charge for Courier-Pak
  4756.       8 -- CPCUG Software Exchange
  4757.       2 -- for the hassel the family will put up with and rate changes
  4758.     ----
  4759.    $ 35 = Total Costs
  4760.  
  4761. Add:
  4762.    $  5 for Alaska, Hawaii, and Puerto Rico
  4763.    $ 11 for Europe, the Far East, and Australasia
  4764.  
  4765. Hopefully,  this  service  will only be used by a  very,  VERY  few!   Most 
  4766. releases  have a few fixes that get published within the first week or  two 
  4767. that  they are out.   For this reason,  I advise everyone to check back for 
  4768. fixes  after a release goes out (and for the same reason I don't  encourage 
  4769. anyone to use this "Subscription Service").
  4770.  
  4771. To  obtain  this  service for the NEXT release (it does NOT  apply  to  the 
  4772. current or previous releases) fill out the following form and send it along 
  4773. with  your check or money order (no purchase orders are accepted  and  your 
  4774. canceled check is your only invoice).
  4775.  
  4776.       +--------------------------------------------------------------+
  4777.       | To: D. Thomas Mack            RBBS-PC Subscription Service to|
  4778.       |     10210 Oxfordshire Road    the NEXT release of RBBS-PC (if|
  4779.       |     Great Falls, Virginia     any, and none are implied or   |
  4780.       |                    22066      promised by this offer)        |
  4781.       |--------------------------------------------------------------|
  4782.       |Date Requested:                   Date Received:              |
  4783.       |--------------------------------------------------------------|
  4784.       |To (Recipent's Name):                                         |
  4785.       |--------------------------------------------------------------|
  4786.       |Recipent's Phone Number (required): (      )        -         |
  4787.       |--------------------------------------------------------------|
  4788.       |Exact Street Address (no P.O. Box or P.O. Zip Code accepted)  |
  4789.       |                                                              |
  4790.       |                                                              |
  4791.       |--------------------------------------------------------------|
  4792.       | City                            | State                      |
  4793.       |                                 |                            |
  4794.       |--------------------------------------------------------------|
  4795.       | Signature (required)            | ZIP Code for Street Address| 
  4796.       |                                 |                            |
  4797.       |                                 |                            |
  4798.       +--------------------------------------------------------------+
  4799.       Note: this is not a promise that there will be any new releases.
  4800.  
  4801.                        Page 75 of 77
  4802. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4803.  
  4804. APPENDIX I -- RBBS-PC National Listing Service     
  4805. ----------------------------------------------
  4806. Frequent inquires are made about a "national" list of RBBS-PC's.   In order 
  4807. to help SYSOP's (and potential SYSOP's) everywhere find configurations that 
  4808. most  closely match their own,  with the introduction of RBBS-PC CPC12-5B I 
  4809. am  willing to inaugurate an additional public service and will attempt  to 
  4810. keep  an "ACCURATE" telephone listing of all publically  available  RBBS-PC 
  4811. systems.  The success of this endeavor depends on you.  If you would like a 
  4812. chance to stand up and be recognized, please fill out the following form:
  4813.  
  4814.       +--------------------------------------------------------------+
  4815.       | To: Jon Martin                   RBBS-PC National Listing    |
  4816.       |     4396 N. Prairie Willow Ct.   Service (if any, and none is|
  4817.       |     Concord, California          implied or promised by this |
  4818.       |                    94521         offer)                      |
  4819.       |--------------------------------------------------------------|
  4820.       |Please  REMOVE    CHANGE    ADD   Date Requested:             |
  4821.       |(circle one) to your Listing.     Date Action Taken:          |
  4822.       |--------------------------------------------------------------|
  4823.       |SYSOP's Name:                                                 |
  4824.       |--------------------------------------------------------------|
  4825.       |DATA Phone Number  (required): (      )        -              |
  4826.       |VOICE Phone Number (optional): (      )        -              |
  4827.       |Do NOT publish my VOICE number (please check) _____           |
  4828.       |--------------------------------------------------------------|
  4829.       |Exact Street Address (no P.O. Box or P.O. Zip Code accepted)  |
  4830.       |                                                              |
  4831.       |                                                              |
  4832.       |--------------------------------------------------------------|
  4833.       | City                            | State                      |
  4834.       |                                 |                            |
  4835.       |--------------------------------------------------------------|
  4836.       | Signature (required):           | ZIP Code for Street Address| 
  4837.       |                                 |                            |
  4838.       |                                 |                            |
  4839.       +--------------------------------------------------------------+
  4840.       | Detailed System Information                                  |
  4841.       | RBBS Name          :_________________________________________|
  4842.       | Operating Hrs.(EST):_________________________________________|
  4843.       | Specialty of RBBS  :_________________________________________|
  4844.       | Baud Rates         :_________________________________________|
  4845.       | Number of Nodes    :_________________________________________|
  4846.       | Modem Vendor/Model :_________________________________________|
  4847.       | Computer Type      :_________________________________________|
  4848.       | Memory             :_________________________________________|
  4849.       | Multi-Function Card:_________________________________________|
  4850.       | Monitor Vendor/Type:_________________________________________|
  4851.       | Disk Storage       :_________________________________________|
  4852.       | Special Cards      :_________________________________________|
  4853.       | DOS Version        :_________________________________________|
  4854.       | Other Software     |_________________________________________|
  4855.       |--------------------------------------------------------------|
  4856.       | Additional information/comments:                             |
  4857.       |                                                              |
  4858.       |                                                              |
  4859.       |                                                              |
  4860.       |                                                              |
  4861.       | Feel free to include a photo of yourself if you would like so|
  4862.       | that we can get to know our fellow SYSOPS.                   |
  4863.       +--------------------------------------------------------------+
  4864.  
  4865.                        Page 76 of 77
  4866. RBBS-PC CPC12-5B, Copyright 1985 by D. Thomas Mack           August 25, 1985
  4867.  
  4868. APPENDIX J -- RBBS-PC and The Ark-Paradyne Modem Switch Settings
  4869. ----------------------------------------------------------------
  4870. The following are the switch and jumper settings for the Modem.
  4871.      
  4872.      Switch 1  UUUDDUUD       (Where U = Up = On and D = Down = Off )
  4873.      Switch 2  UDDDDUDD    Briefly these settings use Hayes Mode, ROM,
  4874.      Switch 3  DUUDUUUU    2400 Baud,8,N,1, and auto answer disabled.
  4875.  
  4876.      MODEM     DTE/CLOCK    FLOW      BUSY      DTR
  4877.      JUMPERS     E8-E9     E15-E16    E4-E7    E11-E14
  4878.  
  4879. Use "2400  for option 38 "Modem rate" in CONFIG.EXE. 
  4880.  
  4881. The ARK modem has two modes, ARK and HAYES. The zap or modem reset "ATZ" or 
  4882. "Z"  command requires a "CONFIRM Y/N" and therefore cannot be used by RBBS.  
  4883. The  HAYES  mode works well for RBBS and the ARK mode works best  with  PC-
  4884. TALK, QMODEM, EXECPCT, etc.
  4885.  
  4886. Do to incomplete compatability to the HAYES 2400 (i.e.  lack of time  delay 
  4887. from  MCR to DTR to drop of Carrier) the ARK Modem can't use the  following 
  4888. RBBS  functions:  Doors,  Remote Sysop to DOS,  and the RBBS version of MNP 
  4889. Protocol.  
  4890.      
  4891. The following LED lights should be "ON" while waiting for a call: 
  4892.  
  4893.      TALK
  4894.      ANS
  4895.      AA
  4896.      PWR
  4897.      DTR
  4898.      RTS
  4899.  
  4900. If  the  AA light is not "ON",  check the 2nd line of RBBSxPC.DEF  for  the 
  4901. modem string starting with ATM0Q1 etc.  The string should have S0=1.  
  4902.  
  4903. The Ark modem requires that option 9 of CONFIG to be set to 0.
  4904.      
  4905. =========== E N D   O F   CPC12-5B   D O C U M E N T A T I O N ==========
  4906.  
  4907.  
  4908.  
  4909.  
  4910.  
  4911.  
  4912.  
  4913.  
  4914.  
  4915.  
  4916.  
  4917.  
  4918.  
  4919.  
  4920.  
  4921.  
  4922.  
  4923.  
  4924.  
  4925.  
  4926.  
  4927.  
  4928.  
  4929.                        Page 77 of 77
  4930.  
  4931.